TreeSet 依賴元素 Comparable 接口或外部 Comparator 維持有序、去重。User 實現 Comparable<User>,compareTo 決定「相等」判準(此處:用戶名+密碼全等)。@Override
public int compareTo(User o) {
int n = this.userName.compareTo(o.userName);
if (n != 0) return n;
return this.passWord.compareTo(o.passWord);
}
// 返回 0 表示「相等」,TreeSet 視為重複元素不再添加
set.add(new User(name, pwd)) → 返回 true 表示成功,false 表示用戶名已存在(因 compareTo 相等)。set.contains(new User(inputName, inputPwd)) → true 登錄成功。compareTo 必須與 equals 一致:compareTo==0 ⇔ equals==true。String.compareTo,不可 用 == 或 hashCode。Set<String> userNames + Map<String, String> pwdMap,勿濫用 TreeSet。掌握 compareTo 正確寫法,TreeSet 即可成為輕量級「用戶存儲+去重+查找」組件。