您的位置:首页 > 编程语言 > Java开发

Java基础增强-增强for循环,装箱,map类型的操作

2015-10-21 19:18 766 查看

</pre>1.自动装箱/拆箱</h2><div>装箱:把一个基本数据类型直接赋给对应的包装类变量, 或者赋给 Object 类型的变量。</div><div>拆箱:把包装类对象直接赋给一个对应的基本类型变量。</div><div><pre name="code" class="java">		Integer i = 1;  //装箱   Integer i = new Integer(1);
int j = i;  //折箱

//典型应用
List list = new ArrayList();
list.add(1);   //装箱  Integer
list.add(2);

Iterator it = list.iterator();
while(it.hasNext()){
int k = (Integer)it.next();  //折箱
}

2.增强for循环

增强for循环只能用在数组、或实现Iterator接口的集合类上

数组实例:

@Test
public void test1(){
int arr[] = {1,2,3};
for (int num : arr){
System.out.println(num);
}
}


带有iterator接口的类实例:

@Test
public void test2(){
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
for(Object obj:list){
int i = (Integer) obj;
System.out.println(i);
}
}


map的操作实例(map中是没有iterator接口的):

传统方式1:



@Test
public void test3(){
Map map = new HashMap();
map.put("3","ccc");
map.put("2","bbb");
map.put("1","aaa");

Set set = map.keySet();
Iterator iterator = set.iterator();
while (iterator.hasNext()){
String key = (String) iterator.next();
String value = (String) map.get(key);
System.out.println(key + "=" +value);
}
}
输出结果:
3=ccc
2=bbb
1=aaa
输出结果不按顺序是由于:采用了HashMap(),如果想按顺序输出应采用LinkedHashMap()。

传统方式2:



@Test
public void test4(){
Map map = new HashMap();
map.put("3","ccc");
map.put("2","bbb");
map.put("1","aaa");

//传统方式2
Set set = map.entrySet();
Iterator iterator = set.iterator();
while (iterator.hasNext()){
Map.Entry entry = (Map.Entry) iterator.next();
String key = (String) entry.getKey();
String value = (String) entry.getValue();
System.out.println(key + "=" + value);
}
}

传统方式1for增强:

@Test
public void test5(){
Map map = new HashMap();
map.put("3","ccc");
map.put("2","bbb");
map.put("1","aaa");

//传统方式1for增强
for (Object obj:map.keySet()){
String key = (String) obj;
String value = (String) map.get(obj);
System.out.println(key + "=" +value);
}
}

传统方式2for增强:

@Test
public void test6(){
Map map = new HashMap();
map.put("3","ccc");
map.put("2","bbb");
map.put("1","aaa");

//传统方式2for增强
for (Object obj:map.entrySet()){
Map.Entry entry = (Map.Entry) obj;
String key = (String) entry.getKey();
String value = (String) entry.getValue();
System.out.println(key + "=" + value);
}
}

增强for的注意事项:

增强for只适合去数据,要修改数组或集合中的数据只能采用传统方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: