Java自学-集合框架 HashSet、LinkedHashSet、TreeSet之间的区别

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 numberSet1 =new HashSet();
//HashSet中的数据不是按照插入顺序存放
numberSet1.add(88);
numberSet1.add(8);
numberSet1.add(888);

System.out.println(numberSet1);

LinkedHashSet numberSet2 =new LinkedHashSet();
//LinkedHashSet中的数据是按照插入顺序存放
numberSet2.add(88);
numberSet2.add(8);
numberSet2.add(888);

System.out.println(numberSet2);
TreeSet numberSet3 =new TreeSet();
//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);
 
    }
}

posted on 2020-01-02 19:51  半米高峰  阅读(317)  评论(0)    收藏  举报

导航