Java集合

Java大部分集合类是由Collection接口和Map<K,V>接口衍生而来。

  Collection接口:

    List<E>、Set<E>、SortedSet<E>、Queue<E>

      List接口:ArrayList、LinkedList、Vector

      Set接口:HashSet、EnumSet

      Set接口的子接口:Sorted<E>、TreeSet

  Map<key,value>接口:TreeMap、HashMap、Hashtable、EnumMap

  接口Iterable(迭代器)提供了iterator()方法,用于遍历集合中的所有元素。

  LinkedList:

        一种链表结构,在集合中间位置进行数据的插入或删除效果很好。(相关元素只需要更新地址),提供了队列、堆栈结构的一种实现。

LinkedList<String> strs = new LinkedList<String>();
strs.add("xxx");

 

  ArrayList:

        一种数组结构,对于随机访问get和set效率较高,插入或删除较差(相关元素都需要挪位置)。

List<String> elements=new ArrayList<String>();
        elements.add("xxx");


List的特点:
  有序、可以存放重复元素、异步、线程不安全。(Collections提供了相关synchronizedList同步方法。异步->同步。)

 

  HashSet:

    无序、不能重复、异步、线程不安全。

Set<String> s = new HashSet<String>();
s.add("a");

 

    自定义对象判断是否相同的规则:

      首先比较两个对象的hashCode是否相同,如果相同再调用其equals,根据返回值true或者false判断是否相同。
  TreeSet:

    有序、不能重复

Set<String> s = new TreeSet<String>();
s.add("11");

    集合中的元素实现Comparable接口,或者提供比较器Comparator,对集合中的元素进行排序。

    自定义对象的排序:实现Comparable接口中的compareTo()方法。

 

原文地址:https://www.cnblogs.com/ziyouqingfeng/p/4918733.html