Java类集

来源:互联网 发布:淘宝拍卖包包是真的吗 编辑:程序博客网 时间:2024/06/07 18:57

Java类集 java.uti.*

1、类集即动态对象数组,可进行任意的扩充,

Collection  较少使用

List         常用 可重复

Set          不允许重复数据

Map          key-àvalue

Iterator    集合的输出接口

ListIterator双向输出

Enumeration 

sortedSet    排序接口

ShortMap     按照key值进行排序  

Qunenue

Map.Entry

 

Collection 子类接口 set list sortedset  quenue

Map  子类接口 sortedMap

 

2、 List   add

   List ArrayList  Vector (继承List)

        异步        同步

        LinkedList

        Queue

   List 进行双向输出,可以通过size()和get(variable)函数实现

3、Set   add

无法进行双向输出

TreeSet        HashSet //依靠hashCode() equals() 完成重复元素判定

散列               有序

 

TreeSet detail //依靠comparable完成排序

如果其中传入的对象,则需要在对象中实现comparable接口

在实现comparable接口后,TreeSet会在比较的过程中删除重复元素,因此需要对关键元素都进行比较。

  HashCode()   equals() hashCode()

其为sortedSet的子类

 

 

SortedSet接口

4、Iterator

Iterator  ListIterator forearch  Enumeration

标准的集合输出操作,迭代输出接口 

Iterator iter =all.iterator();

Iter.hasNext()  // next()

单向输出!!,迭代输出中最好不要删除数据

 

      如果在迭代输出中使用了List中得remove(),则会出现问题;只能使用Iterator

中得方法remove()方法

 

  ListIterator接口双向输出

Collection中没有该接口的实现,在List中ListIterator

后向输出

  while(iter.hasNext()){

   String str = iter.next()

 }

  while(iter.hasPrevious()){

     String str = iter.preview();

  }

  Note:必须先进行正向输出才能进行逆向输出

 

 

 Foreach

   for(Stringstr:all)

 Enumeration

 

 

5、 Map接口 keyàvalue  put() get(key) 一般作为查找使用

HashMap      HashTable       TreeMap       WeakHashMap   IdentityHashMap

顺序    无          无                   有

key     不重复      不重复           不重复                       可以重复

                                                     无用数据GC()

 

containKey/Vaule()

 

获得全部的key  keyS  et()  需要set集合接收  valueSet同上

TreeMap需要实现comparable接口,定义规则

 

 

Note:四种引用

强引用:当内存不足时,jvm宁可outofmemery也不释放,回收对象

软引用:。。。            回收这些对象,实现内存敏感的高速缓存

弱引用:无论内存如何,发现垃圾即回收

虚引用:和没有任何引用一样。

 

Map使用注意:

Map.Entry相当于Map中得一个元素。

如果同时迭代key value

  map的实力通过entryset()变为set接口对象

  set实例化iterator

  通过iterator输出,通过map.entry进行key value 分离

map.entrySet()返回set集

使用非系统类作为key需要覆写equals和hashCode()方法

 

IdentityHashMap//需要保证内容相等,地址不相同

 

SortedMap 类似于sortedset和treeset

 

6、集合工具

Collections   和Collection

  àCollections 是对所有接口的支持

addAll(List ,String串)

 binarySearch(Obj,key)

 

 

 

 

 

 

 

0 0
原创粉丝点击