首页 > 学院 > 开发设计 > 正文

Java集合的遍历

2019-11-14 23:24:45
字体:
来源:转载
供稿:网友
java集合的遍历

一 , 集合的体会(Collection , list, set ,map)

 1,遍历list的方法:

  第一种方法:for-each方法

  public class ListTest{

    public static void main(String[] args){

      List<String> list = new ArrayList<String>();      long t1,t2;      for(int j = 0; j < 10000000; j++)      {        list.add("aaaaaa" + j);      }

      for(String tmp:list)      {        //System.out.PRintln(tmp);      }

  }

  第二种方法:for-变量的方法    public class ListTest{

    public static void main(String[] args){

      List<String> list = new ArrayList<String>();      long t1,t2;      for(int j = 0; j < 10000000; j++)      {        list.add("aaaaaa" + j);      }

      for(int i = 0; i < list.size(); i++)      {        list.get(i);        //System.out.println(list.get(i));      }

     }

      t2=System.currentTimeMillis();    }   第三种方法 :迭代遍历方法    public class ListTest{

    public static void main(String[] args){

      List<String> list = new ArrayList<String>();      long t1,t2;      for(int j = 0; j < 10000000; j++)      {        list.add("aaaaaa" + j);      }

      Iterator<String> iter = list.iterator();      t1=System.currentTimeMillis();      while(iter.hasNext())      {        iter.next();        //System.out.println(iter.next());      }      t2=System.currentTimeMillis();

      //for (Iterator i = list.iterator(); i.hasNext();) {   //System.out.println(i.next());    //} 

    }

    }  2,遍历Set的方法:

   1.迭代遍历:

    Set<String> set = new HashSet<String>();    Iterator<String> it = set.iterator();    while (it.hasNext()) {       String str = it.next();       System.out.println(str);    }

   2.for循环遍历:   for (String str : set) {     System.out.println(str);    }

    优点还体现在泛型 假如 set中存放的是Object

    Set<Object> set = new HashSet<Object>();    for循环遍历:    for (Object obj: set) {     if(obj instanceof Integer){     int aa= (Integer)obj;     }else if(obj instanceof String){     String aa = (String)obj     }    }

   3.Map 的遍历    

    //循环遍历map的方法    public class CircleMap {     public static void main(String[] args) {     Map<String, Integer> tempMap = new HashMap<String, Integer>();     tempMap.put("a", 1);     tempMap.put("b", 2);     tempMap.put("c", 3);     // 遍历方法一 hashmap entrySet() 遍历     System.out.println("方法一");     Iterator it = tempMap.entrySet().iterator();     while (it.hasNext()) {     Map.Entry entry = (Map.Entry) it.next();     Object key = entry.getKey();     Object value = entry.getValue();     System.out.println("key=" + key + " value=" + value);     }     System.out.println("");     // JDK1.5中,应用新特性For-Each循环     // 遍历方法二     System.out.println("方法二");     for (Map.Entry<String, Integer> entry : tempMap.entrySet()) {     String key = entry.getKey().toString();       String value = entry.getValue().toString();     System.out.println("key=" + key + " value=" + value);     }     System.out.println("");

    // 遍历方法三 hashmap keySet() 遍历     System.out.println("方法三");     for (Iterator i = tempMap.keySet().iterator(); i.hasNext();) {     Object obj = i.next();     System.out.println(obj);// 循环输出key     System.out.println("key=" + obj + " value=" + tempMap.get(obj));     }     for (Iterator i = tempMap.values().iterator(); i.hasNext();) {     Object obj = i.next();     System.out.println(obj);// 循环输出value     }       System.out.println("");

    // 遍历方法四 treemap keySet()遍历     System.out.println("方法四");     for (Object o : tempMap.keySet()) {     System.out.println("key=" + o + " value=" + tempMap.get(o));     }     System.out.println("11111");

    // java如何遍历Map <String, ArrayList> map = new HashMap <String,     // ArrayList>();     System.out.println("java 遍历Map <String, ArrayList> map = new HashMap <String, ArrayList>();");     Map<String, ArrayList> map = new HashMap<String, ArrayList>();     Set<String> keys = map.keySet();     Iterator<String> iterator = keys.iterator();     while (iterator.hasNext()) {     String key = iterator.next();     ArrayList arrayList = map.get(key);     for (Object o : arrayList) {       System.out.println(o + "遍历过程");     }     }     System.out.println("2222");     Map<String, List> mapList = new HashMap<String, List>();     for (Map.Entry entry : mapList.entrySet()) {       String key = entry.getKey().toString();        List<String> values = (List) entry.getValue();       for (String value : values) {       System.out.println(key + " --> " + value);      }     }     }    }

  Q:Comparable和Comparator区别 A:调用java.util.Collections.sort(List list)方法来进行排序的时候,List内的Object都必须实现了Comparable接口。java.util.Collections.sort(List list,Comparator c),可以临时声明一个Comparator 来实现排序。Collections.sort(imageList, new Comparator() {public int compare(Object a, Object b) {int orderA = Integer.parseInt( ( (Image) a).getSequence());int orderB = Integer.parseInt( ( (Image) b).getSequence()); return orderA - orderB;}}); 如果需要改变排列顺序 改成return orderb - orderA 即可。

  


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表