`
wjjbfq
  • 浏览: 79995 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中容器的使用

阅读更多

一直对容器的使用很模糊,是时候该总结一下了:

在项目开发中,一般使用的容器有:

Colleaction (Set List )   接口

Set (HashSet(LinkedHashSet) TreeSet) 括号内为相应的实现类,LinkHashSet类继承了HashSet类

List (LinkedList ArrayList) 括号内为相应的实现类

Map (HashMap(LinkHashMap) TreeMap HashTable) 括号内为相应的实现类 LinkHashMap类继承了HashMap

 

在项目中何时该使用哪个呢?

 

1、Set 一个不包含重复元素的 collection。既然元素是不可重复,那怎么比较呢? 这时元素对象要实现equals和hashcode方法。

     HashSet 没有顺序,不可重复。而它的子类 LinkedHashSet 会始终保持插入时的顺序。

     TreeSet  会对放入的数据进行排序。如果需要制定排序规则,元素类要实现Comparable接口,实现compareTo()方法。

2、List 有序的 collection(也称为序列)。

    ArrayList

    LinkedList

3、Map 将键映射到值的对象。

    HashMap 每次迭代的顺序会不同 。

    HashMap的子类 LinkedHashMap :会始终保持插入时的顺序。

   TreeMap :根据其键的自然顺序进行排序。(二叉树)

    HashTable:是线程安全的

4、Arrays

此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。

    eg:asList方法提供了一个创建固定长度的列表的便捷方法,该列表被初始化为包含多个元素:

     List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics