美文网首页
集合框架笔记

集合框架笔记

作者: 小西奥 | 来源:发表于2018-05-25 17:22 被阅读0次

类集的主要作用:存储和操作数据

collection 的主要子接口如下

list :有序,可重复

ArrayList类   动态数组   和Vector不同点  

操作:增加对象 删除对象 遍历集合

LinkedList  类 

操作:找到表头 删除表头

双向输出 正,反

set 特点:无序,不重复

HashSet类  需要重写equals()和hashcode()  

TreeSet 类 对类对象进行保存时,若要对自定义类进行排序,类在定义时需要实现comparable接口

无法进行双向输出,因为set是无序的,没有list的下标

queue

LinkedList类

sortedSet接口

Map

HashMap  添加内容put, get(key)来取出key对应特定的value内容 判断是否存在key ,value     遍历key(采用keySet()转化成set类,使用Iterator遍历), 遍历value(采用values()转化成collection,使用Iterator遍历)   

HashTable 使用方式和HashMap一致,但两者之间的区别 

    版本先后,同异步,线程安全方面出发

遍历整个map的两种方式:

使用Map.Entry(),然后进行分离

1 Interator 将map实体通过entrySet转换成set<Map.Entry<String,String>>

然后使用实例化Interator,Interator也要带上<Map.Entry<String,String>>,

最后遍历,要先取出Map.Entry<String,String>,然后进行Key,Value的分离

Map<String,String> se=new HashMap<String, String>();
se.put("ss","sa");
se.put("ab","ba");
se.put("aw","da");
Set<Map.Entry<String,String>> set=se.entrySet();
Iterator<Map.Entry<String,String>> iterator=set.iterator();
while (iterator.hasNext()){
    Map.Entry<String,String> me=iterator.next();
    System.out.println(me.getKey()+"--->"+me.getValue());
}

sortedMap 接口中定义的方法

Map的几种类型

不允许重复:HashMap  HashTable  WeakHashMap(弱引用对不用的内容会进行删除)

允许重复:  IdentityMap

有序不重复:TreeMap

2 foreach

foreach 直接使用Map.Entry<String,String>遍历map.entrySet方法

for (Map.Entry<String,String> me:se.entrySet()){
    System.out.println(me.getKey()+"===>"+me.getValue());
}

注意:map1中使用自定义类来作为泛型的话,通过get(),来获取自定义类,有两种方式

1 通过对类实例化,添加时用实例化对象来进行操作

2 在自定义类中重写Object类的equals() hasCode();

集合遍历的四种方式

Iterator

遍历集合  三个常用的方式  hasNext( )   next( )  remove( )

ListIterator

双向迭代,要后向前输出,必须要有前想后输出

而且 需要配套 前 hasNext( ) next( ) 后 hasPrevious( ) previous( )

next 是按顺序下去的,想要修改元素,需要先取出元素再修改

foreach

枚举Enumeration 需和Vector配套使用

Collections工具类的使用

常用的几个方法

以下方法适用于List<T>

添加元素Collections.addAll() 

集合反转保存Collections.reverse()

检索集合,返回对应的位置Collections.binarySearch()  

替换集合中的元素 Collections.replace()

对集合进行排序 Collections.sort()  对于自定义的类需要进行实现comparable接口

Set Map List通用

最大值:Collecions.max()

最小值:Collections.min()

Stack 类

peek()

pop()

push()

search() Stack栈是从1开始的,没有0,而且是后先前进行标号的

isEmpty()

相关文章

网友评论

      本文标题:集合框架笔记

      本文链接:https://www.haomeiwen.com/subject/cyyujftx.html