java中的集合类

java集合类的类框图

www.sunxin.org__20091209172620962_001.jpg 

一:基本概念对比

 Set最为主要的特征是集合中的对象不按照特定的方式排序,并且没有重复的对象。
它的主要实现类包括:
HashSet类按照哈希算法来存取集合中的对象,速度较快。
LinkedHashSet类不仅实现了哈希算法,而且实现了链表的数据结构,提高了插入和删除的功能。
TreeSet类实现了SortedSet接口,具有排序的功能。


List主要特征是其元素以线型方式存储,集合中可以存放重复的对象
List的主要实现类包括:
ArrayList:代表长度可变的数组。可以对元素快速的随机访问。但是向ArratList插入或删除元素的速度较慢。
LinkedList:在实现中才用了链表的数据接口,对顺序访问进行了优化。向List中插入和删除数据的速度快,随即访问的速度较慢。

Map是一种把键对象和值对象进行映射的集合,他的每一个元素都包含一个键对象,一个值对象,键对象相当于值对象的索引,而且值对象仍然可以是Map类型的。
它的主要实现类为:
1. HashMap安装Hash算法来存取键对象,有很好的存取性能;为了保证HashMap能正常工作,和HashSet一样,要求键对象要覆盖的equals()方法和hashCode()方法。
2. TreeMap类实现了SortedMap接口,能对键对象进行排序。

 

二:List和Set排序

1:list中的排序要使用集合类工具Collections.sort()方法,该方法调用compareTo()。所以list中的对象要实现Comparable接口或者创建该对象的比较器(实现Comparator的类)。另外注意:list.contains()方法,在比较是调用list中对象的equal()方法,如果希望按照对象的某个属性比较的话,需要重写对象equal()方法。

 

2:要使Set具有排序功能,可以使用TreeSet。在实例化Set时,指定比较器。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值