java容器使用,java中容器的使用

[Java容器类划分位两个部分:Collection和Map。 在Collection中,主要有List和Set两个部分。在Set中,每个对象只保留一份,List中又有ArrayList和LinkedList,而Set中又有H

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

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

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 会始终保持插入时的顺序。[Java的容器分别有list、map和set list接口下:        一种是基本的ArrayList,其优点在于随机访问元素,       另一种是更强大的LinkedList,它并不是为快速随机访问设计的

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

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

ArrayList

LinkedList

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

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

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

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

HashTable:是线程安全的

4、Arrays

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

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

List stooges = Arrays.asList("Larry", "Moe", "Curly");[1、衡量标准:读的效率和改的效率 Array读快改慢; Linked读慢改快; Hash两者之间; 2、Map接口的实现类有HashMap和TreeMap等。Map的键值不能重复(equals) 3、自动打包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值