- /**
- * list和map遍历
- */
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- public class list_map遍历 {
- public static void main(String[] args) {
- List < String > list = new ArrayList < String > ();
- list.add("Hello");
- list.add("World");
- list.add("HAHAHAHA");
- //第一种遍历方法使用foreach遍历List
- for (String str: list) { //也可以改写for(int i=0;i<list.size();i++)这种形式
- System.out.println(str);
- }
- //第二种遍历,把链表变为数组相关的内容进行遍历
- String[] strArray = new String[list.size()];
- list.toArray(strArray);
- for (int i = 0; i < strArray.length; i++) //这里也可以改写为 foreach(String str:strArray)这种形式
- {
- System.out.println(strArray[i]);
- }
- //第三种遍历 使用迭代器进行相关遍历
- Iterator < String > ite = list.iterator();
- while (ite.hasNext()) //判断下一个元素之后有值
- {
- System.out.println(ite.next());
- }
- Map < String,
- String > map = new HashMap < String,
- String > ();
- map.put("1", "value1");
- map.put("2", "value2");
- map.put("3", "value3");
- //第一种:普遍使用,二次取值
- System.out.println("通过Map.keySet遍历key和value:");
- for (String key: map.keySet()) {
- System.out.println("key= " + key + " and value= " + map.get(key));
- }
- //第二种
- System.out.println("通过Map.entrySet使用iterator遍历key和value:");
- Iterator < Map.Entry < String,
- String >> it = map.entrySet().iterator();
- while (it.hasNext()) {
- Map.Entry < String,
- String > entry = it.next();
- System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
- }
- //第三种:推荐,尤其是容量大时
- System.out.println("通过Map.entrySet遍历key和value");
- for (Map.Entry < String, String > entry: map.entrySet()) {
- System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
- }
- //第四种
- System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
- for (String v: map.values()) {
- System.out.println("value= " + v);
- }
- }
- }
来源: