收藏私塾在线
 

欢迎您来到私塾在线网!   

请登录! 

免费注册 


maorun的笔记
状态: 离线
人气:246631
访问用户量:486
笔记经验:
总积分:1419
级别:普通会员
搜索本笔记
ta的交流分类
ta的交流主题贴(4)
ta的所有交流贴(31)
ta的全部笔记
全部笔记(8)
未分类笔记(8)
存档
2014-02(1)
2013-11(4)
2013-10(3)

2013-10-06 08:45:35
java集合知识点
浏览(10288)|评论(0)   交流分类:Java开发综合|笔记分类: 未分类

1、Set默认加载使用重复对象,若重写hashCode(),equals()方法,则可以去重复重复对象若是String类型,为什么没有,因为String类已经重写了这两个方法。
TreeSet是排序的Set ,HashSet是散列的,list是有序的。
 2、list是异步的实现,性能高,但是线程不安全,而Vector是同步,线程安全,性能较低两个子接口ArrayList,LinkList,在类集中只有List接口才能双向输出。
3、TreeSet可以直接对String的类型对象排序,但是若是对象排序,则必须依靠comparable来实现排序
 4、Sort开头的都可以排序,规则是按比较器接口comparable的compareTo()方法实现。
 5、Iterator的用法:所有类集的输出,首先想到使用该接口。
先用Collecction类集合的iterator()获取该接口的实例,然后使用while(iter.hasNext()){
          iter.next()自动获取元素,指针自动下移
    }----自动先判断,然后输出。
使用iterator接口删除方法,循环会跳出。输出是从前往后输出,单方向的。所以要想双向输出 必须使用ListIterator接口。核心方法hasNext()向后,hasPrevious()向前,next()取出后一元素,previous()前一元素但是不能通过Collection.iterator()直接实例化,该接口只能通过List接口的listIterator()方法实例化 该接口只能先从前往后输出之后,才能从后往前输出,结果否则会输出不了。6、Enumeration接口是一个老接口,有两个核心方法。hasMoreElments(),nextElement()获取元素,它一般操作Vector类只有vector类才有,其他都没有,所以Vector.elements()获取实例。
                                         for(enu.hasMoreElements())
                                         {
                                             enu.nextElement()
                                         }
                                         for(对象类型  对象  Collection)
                                         {
                                             
                                         }
7、四种输出:iterator,ListIterator,foreach,Enumeration输出。 最重要就是Iterator
8、Map接口:在Collection接口中唯一的一个存放双值,每次操作一对对象,key-value
 public interface Map<K,V> MapEntry接口Map.Entry对象,即map里面存放是一个个MapEntry对象。Map接口基本子类有:HashMap,Hashtable,TreeMap,SortedMap,WeakHashMap,IdentityMap
 通过put方法增加一个MapEntry对象,通过map.get(key)取出值,若没有返回null
containsKey(),containsValue()是否有键,值若输出全部的Key,
  Set keys = map.keySet();//得到全部的键的一个SET集合,此时就可以用迭代
 Iterator itkey = keys.iterator();
      while(itkey.hasNext())
           {
                         syso: itkey.next();
          }
         若输出全部的Value
 Set values = map.values();//得到全部的键的一个SET集合,此时就可以用迭代
                                             Iterator it = values.iterator();
                                             while(it.hasNext())
                                             {
                                                 syso: it.next();
                                             }
Hashtable接口:属于旧的类,与Vector推出的时间一致。该接口完全跟HashMap一致。区别在于:HashMap性能高,异步方式输出,非线程安全;Hashtable性能低,同步方式输出,线程安全。TreeMap:与TreeSet类似,可以排序,按KEY排序。若要对KEY排序,对象要实现comparable接口指定KEY排序规则。 WeakHashMap接口:弱引用,如果一个MAP里头的元素长时间不用,原始的HashMap接口是不能删除的, 若要删除长时间不用的元素,可以使用该接口。

对象使用的4个级别:强,弱,软,虚。
MAP注意事项:
第一种以iterator输出4步骤
 Set<MapEntry<K,V>> allSet = map.entrySet(); //获取一个mapEntry的SET集合
                                         Iterator  it = allSet.iterator(); //迭代输出每一个对象
                                         while(it.hasNext())
                                         {
                                             Map.Entry(K,V) entry = it.next();//每一个元素都是一个mapentry对象
                                             entry.getKey();//然后分离KEY
                                             entry.getValue();//分离VALUE
                                         }
                                         第二种:以foreach
                                         for(Map.Entry(K,V) entry map.entrySet())
                                         {
                                              entry.getKey();entry.getValue();
                                         }

浏览(10288)|评论(0)   交流分类:Java开发综合|笔记分类: 未分类

评论(0)
请登录后评论 登录

关于我们 | 联系我们 | 用户协议 | 私塾在线服务协议 | 版权声明 | 隐私保护

版权所有 Copyright(C)2009-2012 私塾在线学习网