Java自学-集合框架 HashSetLinkedHashSetTreeSet之间的区别

Posted 半米高峰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java自学-集合框架 HashSetLinkedHashSetTreeSet之间的区别相关的知识,希望对你有一定的参考价值。

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);
 
    }
}

以上是关于Java自学-集合框架 HashSetLinkedHashSetTreeSet之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

Java自学-集合框架 LinkedList

Java自学-集合框架 List接口

Java自学-集合框架 聚合操作

Java自学-集合框架 HashSetLinkedHashSetTreeSet之间的区别

Java自学-集合框架 Comparator和Comparable

Java自学-集合框架 ArrayList和HashSet的区别