JAVA-集合-隨筆

來源:互聯網
上載者:User

標籤:

一 , 集合的體會(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 即可。

  

JAVA-集合-隨筆

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.