实现Collection和Map接口的常用类的几种循环方法
来源:互联网 发布:java超市管理系统 编辑:程序博客网 时间:2024/05/01 03:24
Collection接口的特点:
1.有序性2.可重复 3.同步性
实现类的构造方法: 实现collection接口的集合是可以互相转换的。
List:
主要用到的已实现的集合:
List<String> list=new ArrayList<String>();
1.ArrayList:底层用数组存储, 非同步, 最适合查找操作。
循环方法:
1.1用普通的for循环进行循环控制,用list.size()控制循环次数.
for(int i=0;i<list.size();i++){
// 增添操作 list.add( index, E elemtnt);
//按索引取操作 list.get( index );
//按索引删除操作 list.remove(index);
}
1.2 用迭代器iterator循环,用while语句进行循环控制,it.hasNext()控制循环次数.
Iterator<string> it=list.iterator();
while(it.hasNext()){
//用it.next()输出System.out.println(it.next());
}
1.3 用增强型for循环
for( String s: list ){
// 增添操作 list.add( index, E element );
//按索引取操作 list.get( index );
//按索引删除操作 list.remove(index);
}
2.LinkedList:底层用链表存储, 非同步,最适合增加, 删除操作。
循环方法:
2.1用普通for循环进行循环控制, 用list.size()控制循环次数.
for(int i=0;i<list.size();i++){
//常用操作 list.add(index, E element);
list.get(index);
list.getFirst();
list.getLast();
list.remove(index);
}
2.2用迭代器 iterator循环, 用it.hasNext()语句控制循环次数.
Iterator it=list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
2.3增强型for循环
for( String s: list){
//常用操作
list.add(index, E element);
list.get(index);
list.getFirst();
list.getLast();
list.remove(index);
}
3.Vector:底层用数组存储, 同步
循环方法:同ArrayList差不多。
3.1 用普通for循环控制,
for(int i=0;i<list.size();i++){
// 增添操作 list.add( index, E elemtnt);
//按索引取操作 list.get( index );
//按索引删除操作 list.remove(index);
}
3.2 用迭代器iterator循环, 语句it.hasNext()控制循环次数
Iterator it=list.iterator();
while(it.hasNext()){
//输出 System.out.println(it.next());
}
Set:
主要用到的已实现的集合:
Set<E> set=new HashSet<E>();
1.HashSet:底层用HashMap实现,用哈希表存储,主要用来做高性能集运算,集合中的元素无序,不重复,非同步。
循环方法:
1.1用迭代器iterator循环,语句it.hasNext()控制循环次数。
Iterator it=set.iterator();
while(it.hasNext()){
//进行具体操作System.out.println(it.next());
}
1.2 用toArray方法将HashSet转为数组,再用增强型for输出
Object[] obj = set.toArray();
for(Object o : obj){
//Student为一实例对象Student s =(Student) o;
//进行具体操作System.out.println(s.toString() );
}
2.TreeSet:底层用TreeMap实现,用二叉树存储,即有序但需实现Comparator接口,最好于equals()方法一致,非同步。
2.1 用迭代器iterator循环,语句it.hasNext()控制循环次数。
Iterator it=set.iterator();
while(it.hasNext()){
//具体操作Sytem.out.println(it.next());
}
2.2 用toArray方法将TreeSet转为数组,再用增强型for输出
Object[] obj=set.toArray();
for(Object o:obj){
//Student为一实例对象Student s = (Student) o;
//进行具体操作System.out.println(s.toString());
}
Map接口的特点:
存储一组成对的键-值对象,提供key(键)-value(值)的映射,key不要求有序,不允许重复,value不要求有序,但可以重复。
1.HashMap:
循环方法:
Map<Integer,String> map=new HasMap<Integer, String>();
//1.取键值
Set<Integer> keys=map.keySet();
//2.取值集
Collection<String> values=map.values();
//3.取键值对
Set<Map.Entry<Integer,String>>entrys=map.entrySet();
用迭代器iterator循环,it.hasnext()控制循环次数
Iterator it=keys.iterator();
while(it.hasNext() ){
Integer key=it.next();
String value = map.get(key);
System.out.println(Key+"\t"+value );
}
用增强型for
Set<Map.Entry<Integer,String>>entrys=map.entrySet();
for(Map.Entry<Integer,String> entry:entry){
System.out.println(entry.getKey+"\t"+entry.getValue() );
}
2.Properties:
Properties p=System.getProperties();
循环方法:
Set<Object> keys =p.keySet();
先取键值再用增强型for循环
for(Object key:keys){
Object value=p.getProperyies((String) key);
System.out.println(key+"\t"+value);
}
直接用增强型for循环
for(Entry<Object, Object> set : p.entrySet){
System.out.println(set.getKey()+"\t"+set.getValue() );
}
0 0
- 实现Collection和Map接口的常用类的几种循环方法
- Collection接口和Map接口的主要实现类
- Collection接口和Map接口的主要实现类
- Collection接口和Map接口的主要实现类
- Collection接口和Map接口的主要实现类
- Collection接口和Map接口的主要实现类
- java中集合Collection和Map接口的实现类
- Java中常用数据结构的实现类 Collection和Map
- Java中常用数据结构的实现类 Collection和Map
- Java中常用数据结构的实现类 Collection和Map
- Java中常用数据结构的实现类 Collection和Map
- Java中常用数据结构的实现类 Collection和Map
- Java中常用数据结构的实现类 Collection和Map
- Java中常用数据结构的实现类 Collection和Map
- Collection接口常用的方法
- Collection接口的常用方法
- Collection接口与Map接口的主要实现类
- Collection接口和List接口中常用的方法
- devstack方式部署all-in-one openstack如何修改instances的目录
- sgu132:Another Chocolate Maniac
- CocoaPods详解之----进阶篇
- 端口被占用的处理方法
- hibernate与Mysql-Dialect问题
- 实现Collection和Map接口的常用类的几种循环方法
- Android touch事件处理流程
- C++ 单例模式的实现
- 【Vijos1790】拓扑编号
- Android TextPaint 写文字 水平、垂直居中
- 2014/11/6
- 第三章总结
- 黑马程序员——面向对象<二> 笔记第四篇
- atitit。gui 界面皮肤以及换肤总结 java .net c++