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

Java学习笔记之集合、Iterator、Map

2016-03-04 19:52 501 查看
1、在使用集合输出时必须形成一个思路:”只要是碰到了集合输出的操作,就一定使用Iterator接口,因为这是最标准的做法。“

2、利用Iterator输出集合中的元素

<span style="font-size:14px;">import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
public class MyThread{                                       //在一个窗口是上编程的,所以类都命名为此了。。
public static void main(String[] args){
List<String> all=new ArrayList<String>();//实例化List接口
all.add("hello");						 //增加元素
all.add("_");							 //增加元素
all.add("world");						 //增加元素
Iterator<String> iter=all.iterator();    //实例化Iterator接口
while(iter.hasNext()){                   //依次判断
System.out.println(iter.next());     //输出当前元素
}
}
}</span>
输出为:
<span style="font-size:14px;">hello
_
world
</span>
以上的输出代码是Iterator的标准操作形式,将集合中的内容一个个的循环输出,此种输出也是必须掌握的形式

3、使用foreach不仅可以完成数组的输出,对集合也同样支持

<span style="font-family:FangSong_GB2312;"><span style="font-size:14px;">import java.util.List;
import java.util.ArrayList;
public class MyThread{<span style="white-space: pre;">	</span>                                                                                     </span>                             public static void main(String[] args){<span style="font-size:14px;">
List<String> all=new ArrayList<String>();//实例化List接口
all.add("hello");						 //增加元素
all.add("_");							 //增加元素
all.add("world");						 //增加元素
for(String str:all){                   //使用foreach输出
System.out.print(str+"  ");        //输出内容
}
}
}</span></span>
</pre><pre name="code" class="java">
</pre></p><p></p>输出为:<p><pre name="code" class="java">hello  _  world
4、利用Map向集合中增加和取出内容

import java.util.Map;
import java.util.HashMap;
public class MyThread{
public static void main(String[] args){
Map<String,String> map=new HashMap<String,String>();//实例化Map接口
map.put("hello","world");						 //增加元素
map.put("_","good");							 //增加元素
map.put("wor","fff");						 //增加元素
String val=map.get("hello");        //通过map获得与hello对应的值
System.out.print(val);               //输出val内容
}
}
输出为:

world


5、利用Map.containsKey("****")和Map.containsValue("****")判断Map集合是否存在指定的Key和Value值

import java.util.Map;
import java.util.HashMap;
public class MyThread{
public static void main(String[] args){
Map<String,String> map=new HashMap<String,String>();//实例化Map接口
map.put("hello","world");						 //增加元素
map.put("_","good");							 //增加元素
map.put("wor","fff");						 //增加元素
String val=map.get("hello");        //通过map获得与hello对应的值
System.out.println(val);              //输出val内容
if(map.containsKey("hello")){
System.out.println("所搜素的kay存在");
}else{
System.out.println("所搜索的key不存在");
}
if(map.containsValue("good")){
System.out.println("所搜素的Value存在");
}else{
System.out.println("所搜素的Value不存在");
}
}
}
输出为:

world
所搜素的kay存在
所搜素的Value存在
6、使用Iterator输出Map实例

import java.util.Map;
import java.util.HashMap;
import java.util.Set;

import javax.print.DocFlavor.STRING;

import java.util.Iterator;
public class MyThread{
public static void main(String[] args){
Map<String,String> map=new HashMap<String,String>();//实例化Map接口
map.put("qqqq"," arg1");
map.put("www","eeee");
map.put("rrrrr"," value");
Set<Map.Entry<String, String>> allSet=map.entrySet();
//声明一个Set集合,指定泛型。并将Map接口实例变为Set接口实例
Iterator<Map.Entry<String,String>> iter=allSet.iterator();
while(iter.hasNext()){
Map.Entry<String,String> me=iter.next();
//找到Map。Entry实例
System.out.println(me.getKey()+"  "+me.getValue());
}

}
}


输出为:

qqqq   arg1
www  eeee
rrrrr   value
以上的操作流程是Map输出最标准的操作流程

7、使用foreach输出Map实例

将Map集合变为Set集合,Set集合的每一个元素都是Map.Entry的对象

import java.util.Map;
import java.util.HashMap;

import javax.print.DocFlavor.STRING;

public class MyThread{
public static void main(String[] args){
Map<String,String> map=new HashMap<String,String>();//实例化Map接口
map.put("qqqq"," arg1");
map.put("www","eeee");
map.put("rrrrr"," value");
for(Map.Entry<String,String> me:map.entrySet()){
//输出Set集合
System.out.println(me.getKey()+"  "+me.getValue());
//输出key和value值
}

}<pre name="code" class="java">



输出为:

qqqq   arg1
www  eeee
rrrrr   value


foreach语法将集合中的每个元素用Map.Entry类型的对象进行接收,之后再进行key和value值的分离
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: