java中List和Set比较

1. List以特定顺序保存一组元素(按插入顺序保存)

  • ArrayList :插入移除元素慢,随机访问快
  • LinkedList:插入移除元素快,随机访问慢,顺序访问快

2. Set保存一组元素,不能重复(唯一性)

  • HashSet :无顺序,速度快
  • LinkedHashSet: 按插入顺序
  • TreeSet: 按比较结果的升序
   /*向容器中添加元素*/
    public static Collection fill(Collection collection){
        collection.add("aa");
        collection.add("bb");
        collection.add("ff");
        collection.add("cc");
        collection.add("qq");
        collection.add("qq");
        return collection;
    }

    public static void main(String[] args){
        System.out.println("ArrayList:     " + fill(new ArrayList<>()));
        System.out.println("LinkedList:    " + fill(new LinkedList<>()));
        System.out.println();
        System.out.println("HashSet:       " + fill(new HashSet<>()));
        System.out.println("LinkedHashSet: " + fill(new LinkedHashSet<>()));
        System.out.println("TreeSet:       " + fill(new TreeSet<>()));
    }

输出结果如下:

ArrayList:     [aa, bb, ff, cc, qq, qq]
LinkedList:    [aa, bb, ff, cc, qq, qq]

HashSet:       [aa, bb, ff, cc, qq]
LinkedHashSet: [aa, bb, ff, cc, qq]
TreeSet:       [aa, bb, cc, ff, qq]

你可能感兴趣的:(java)