Java集合运用技巧

需要唯一吗?

需要:Set

  需要制定顺序吗?

    需要:TreeSet

    不需要:HashSet

    但是想要一个和存储一致的顺序(有序):LinkedHashSet

不需要:List

  需要频繁增删吗?

    需要:LinkedList

    不需要:ArrayList

如何记录每一个容器的结构和所属体系呢?

看名字

List

  |--ArrayList

  |--LinkedList

Set

  |--HashSet

  |--TreeSet

后缀名就是该集合所属体系

前缀名就是该集合的数据结构

看到array:就是想到数组,就要想到查询快,有角标。

看到link:就是想到链表,就要想到增删快,就要想到add get remove+first last的方法

看到hash:就要想到哈希表,就要想到唯一性,就要想到元素需要覆盖hashcode方法和equals方法。

看到tree:就要想到二叉树,就要想到排序,就要想到两个接口Comparable,Comparator。

而且这些常用的集合容器都是不同步的。

原文地址:https://www.cnblogs.com/zhoushiya/p/5642397.html