`

jdk1.5.0的循环新特性

阅读更多
1.List集合的遍历:
         @Test
public void testList() {
List list = new ArrayList();
list.add("111");
list.add("222");
list.add("333");
list.add("444");
for (Object obj : list) {
   String str = (String) obj;
   System.out.println(str);
}
}

2.Map集合的遍历:Map集合包含无数个键值对,遍历Map集合先把map集合转换成set集合,生出迭代器,进行迭代
@Test
public void testMap(){
Map map=new HashMap();
map.put(1, "aa");
map.put(2, "bb");
map.put(3, "cc");


               //通过获取key的set集合遍历,得到value值
Set set1=map.keySet();
Iterator it1=set1.iterator();

//while遍历
while(it1.hasNext()){
int key=(Integer)it1.next();
    String value=(String) map.get(key);
    System.out.println("key:"+key+"  value:"+value);
}
//for循环遍历
for(Object obj:set1){
Integer key=(Integer)obj;
String value=(String) map.get(key);
    System.out.println("key:"+key+"   value:"+value);
}

               //通过获取Map集合的键值对对象的set集合遍历,得到key和value值
                  Set set2=map.entrySet();
Iterator it2=set2.iterator();

//while遍历
while(it2.hasNext()){
Map.Entry entry=(Entry) it.next();
Integer key=(Integer) entry.getKey();
    String value=(String) entry.getValue();
    System.out.println("key:"+key+"   value:"+value);
}
//for循环遍历
for(Object obj:set2){
    Map.Entry entry=(Entry)obj;
    Integer key=(Integer) entry.getKey();
    String value=(String) entry.getValue();
    System.out.println("key:"+key+"   value:"+value);
}

}

3.jdk1.5 for只能取值,不能赋值,对于List元素的修改,要通过list的
".set('','')"方法进行修改
@Test
public void testArrays(){
                // Arrays.asList(T...t)返回一个受指定数组支持的固定大小
                       的列表,不能用list的add方法添加值

List list1=Arrays.asList(1,2,3,4,5,6);
for(Object obj:list1){
    Integer temp=(Integer)obj;
    temp=100;
    System.out.println(obj+",");
}
for(Object obj:list1){
System.out.println(obj+","); list1.set(1, 200);
System.out.println(obj+",");
}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics