实现Collection和Map接口的常用类的几种循环方法
2014-11-16 23:37
369 查看
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() );
}
相关文章推荐
- 常用的几种交互表存储过程的实现方法
- 常用的几种交互表存储过程的实现方法
- asp.net 中 实现页面跳转的方法 常用的有几种
- Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与LinkedHashSet类))
- 学习.NET (8) 实现派生类中Deep Copy的几种常用方法(通过ICloneable接口)
- asp.net实现伪静态的几种常用的方法
- 常用的几种交互表存储过程的实现方法
- 基于C++语言实现的几种常用的排序方法小结(一)
- 稳扎稳打Silverlight(32) - 2.0Tip/Trick之MessageBox, Popup, 循环的几种实现方法, 动态变换主题
- 常用的几种交互表存储过程的实现方法
- 常用的几种交互表存储过程的实现方法
- 常用的几种交互表存储过程的实现方法
- 稳扎稳打Silverlight(32) - 2.0Tip/Trick之MessageBox, Popup, 循环的几种实现方法, 动态变换主题, 本地化(多语言), 响应鼠标双击事件
- 常用的几种交互表存储过程的实现方法
- 常用的几种交互表存储过程的实现方法
- 常用的几种交互表存储过程的实现方法
- 常用的几种交互表存储过程的实现方法
- 几种常用排序方法的C#实现
- 常用的几种交互表存储过程的实现方法
- 2.0Tip/Trick之MessageBox, Popup, 循环的几种实现方法, 动态变换主题, 本地化(多语言), 响应鼠标双击事件