HashSet、 LinkedHashSet、TreeSet之間的區別 步驟 1 : HashSet LinkedHashSet TreeSet HashSet: 無序 LinkedHashSet: 按照插入順序 TreeSet: 從小到大排序 package collection; import ...
HashSet、 LinkedHashSet、TreeSet之間的區別
步驟 1 : HashSet LinkedHashSet TreeSet
HashSet: 無序
LinkedHashSet: 按照插入順序
TreeSet: 從小到大排序
package collection;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.TreeSet;
public class TestCollection {
public static void main(String[] args) {
HashSet<Integer> numberSet1 =new HashSet<Integer>();
//HashSet中的數據不是按照插入順序存放
numberSet1.add(88);
numberSet1.add(8);
numberSet1.add(888);
System.out.println(numberSet1);
LinkedHashSet<Integer> numberSet2 =new LinkedHashSet<Integer>();
//LinkedHashSet中的數據是按照插入順序存放
numberSet2.add(88);
numberSet2.add(8);
numberSet2.add(888);
System.out.println(numberSet2);
TreeSet<Integer> numberSet3 =new TreeSet<Integer>();
//TreeSet 中的數據是進行了排序的
numberSet3.add(88);
numberSet3.add(8);
numberSet3.add(888);
System.out.println(numberSet3);
}
}
練習: 既不重覆,又有順序
利用LinkedHashSet的既不重覆,又有順序的特性,把Math.PI中的數字,按照出現順序列印出來,相同數字,只出現一次
答案 :
package collection;
import java.util.LinkedHashSet;
import java.util.Set;
public class TestCollection {
public static void main(String[] args) {
Set<Integer> result = new LinkedHashSet<>();
String str = String.valueOf(Math.PI);
// 去掉點
str = str.replace(".", "");
char[] cs = str.toCharArray();
for (char c : cs) {
int num = Integer.parseInt(String.valueOf(c));
result.add(num);
}
System.out.printf("%s中的無重覆數字是:%n",String.valueOf(Math.PI));
System.out.println(result);
}
}