Set集合概述及特點
Set集合五索引、不可以重複、無序(存取不一緻)。
已知實作類
AbstractSet, ConcurrentSkipListSet, CopyOnWriteArraySet, EnumSet, HashSet, JobStateReasons, LinkedHashSet, TreeSet 。
案例示範
(1)HashSet存儲字元串并周遊。
package set;
import java.util.HashSet;
public class Demo1_HashSet {
public static void main(String[] args) {
HashSet<String> hs = new HashSet<>();//建立HashSet對象
boolean b1 = hs.add("a");
boolean b2 = hs.add("a"); //當向set集合中存儲重複元素的時候傳回為false
System.out.println(b1);
System.out.println(b2);
hs.add("b");
hs.add("c");
hs.add("d");
for(String string : hs) { //隻要能用疊代器的,就可以使用增強for循環周遊
System.out.println(string);
}
}
}
運作結果如下:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL4IjMxATNwkDM2ATMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
(2)HashSet存儲自定義對象保證元素唯一性
package set;
import java.util.HashSet;
public class Demo2_HashSet {
public static void main(String[] args) {
HashSet<Person> hs = new HashSet<>();
hs.add(new Person("張三",23));
hs.add(new Person("張三",23));
hs.add(new Person("李四",24));
hs.add(new Person("李四",24));
hs.add(new Person("李四",24));
hs.add(new Person("李四",24));
System.out.println(hs.size());
System.out.println(hs);
}
}
package set;
public class Student {
private String name;
private int chinese;
private int math;
private int english;
private int sum;
public Student() {
super();
}
public Student(String name, int chinese, int math, int english) {
super();
this.name = name;
this.chinese = chinese;
this.math = math;
this.english = english;
this.sum = this.chinese + this.math + this.english;
}
public int getSum() {
return sum;
}
public String toString() {
return name + "," + chinese + "," + math + "," + english + "," + sum;
}
}
運作結果如下: