集合的区别

Posted celineluo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合的区别相关的知识,希望对你有一定的参考价值。

摘自: http://blog.csdn.net/speedme/article/details/22398395

java集合的主要分为三种类型:
  • Set(集)
  • List(列表)
  • Map(映射)
集合分类:
Collection:List、Set
Map:HashMap、HashTable
 

1.1 Collection接口

Collection是最基本的集合接口,声明了适用于JAVA集合(只包括Set和List)的通用方法。 Set 和List 都继承了Conllection,Map。
 
  1. <span style="font-weight: normal;">boolean add(Object o)      :向集合中加入一个对象的引用   
  2.   
  3. void clear():删除集合中所有的对象,即不再持有这些对象的引用   
  4.   
  5. boolean isEmpty()    :判断集合是否为空   
  6.   
  7. boolean contains(Object o) : 判断集合中是否持有特定对象的引用   
  8.   
  9. Iterartor iterator()  :返回一个Iterator对象,可以用来遍历集合中的元素   
  10.   
  11. boolean remove(Object o) :从集合中删除一个对象的引用   
  12.   
  13. int size()       :返回集合中元素的数目   
  14.   
  15. Object[] toArray()    : 返回一个数组,该数组中包括集合中的所有元素 </span>  

 

关于:Iterator() 和toArray() 方法都用于集合的所有的元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组。

1.1.2  Iterator接口声明了如下方法: 

  1. hasNext():判断集合中元素是否遍历完毕,如果没有,就返回true   
  2.   
  3. next() :返回下一个元素   
  4.   
  5. remove():从集合中删除上一个有next()方法返回的元素。  

1.2  Set(集合) 

Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。 Set接口主要实现了两个实现类:
  • HashSet: HashSet类按照哈希算法来存取集合中的对象,存取速度比较快 
  • TreeSet :TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。 

1.3  List(列表)

List的特征是其元素以线性方式存储,集合中可以存放重复对象。 

List接口主要实现类包括:(参考文章:ArrayList与LinkedList的区别
  • ArrayList() : 代表长度可以改变得数组。可以对元素进行随机的访问,向ArrayList()中插入与删除元素的速度慢。 
  • LinkedList(): 在实现中采用链表数据结构。插入和删除速度快,访问速度慢。 
对于List的随机访问来说,就是只随机来检索位于特定位置的元素。 List 的 get(int index) 方法放回集合中由参数index指定的索引位置的对象,下标从“0” 开始。最基本的两种检索集合中的所有对象的方法: 
 

1.4 Map(映射)

Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。 Map没有继承于Collection接口 从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。 

Map 的常用方法: 

1 添加,删除操作: 






以上是关于集合的区别的主要内容,如果未能解决你的问题,请参考以下文章

数组和集合的区别?

数组与集合的区别?

Java集合中List和 Map区别?

Java集合中List和 Map区别?

Java五个最常用的集合类之间的区别和联系

Java集合:ListSet和Map的区别,ArrayList和LinkedList有何区别..........