zoukankan      html  css  js  c++  java
  • java Collections

    1:

    String[] urls = {
        "http://www.paikeworld.com/files/photos/2012-08/13448167861308.jpg",
        "http://www.paikeworld.com/files/photos/2012-08/13448167848275.jpg",
        "http://www.paikeworld.com/files/photos/2012-08/13448167854623.jpg",
        "http://www.paikeworld.com/files/photos/2012-08/13448167836749.jpg",
        "http://www.paikeworld.com/files/photos/2012-08/13448167828063.jpg",
        "http://cs407831.userapi.com/v407831207/191e/QEQE83Ok0lQ.jpg" };
      List<String> items = new ArrayList<String>();
      Collections.addAll(items, urls);

    查找替换
    fill——使用指定元素替换指定列表中的所有元素。
    frequency——返回指定 collection 中等于指定对象的元素数。
    indexOfSubList—— 返回指定源列表中第一次出现指定目标列表的起始位置,如果没有出现这样的列表,则返回 -1。
    lastIndexOfSubList——返回指定源列表中最后一次出现指定目标列表的起始位置,如果没有出现这样的列表,则返回-1。
    max—— 根据元素的自然顺序,返回给定 collection 的最大元素。
    min——根据元素的自然顺序 返回给定 collection 的最小元素。
    replaceAll——使用另一个值替换列表中出现的所有某一指定值。

    实例:

    1) 排序(Sort) 
    使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口。此列表内的所有元素都必须是使用指定比较器可相互比较的 
    
    double array[] = {112, 111, 23, 456, 231 }; 
    for (int i = 0; i < array.length; i++) { 
    list.add(new Double(array[i])); 
    } 
    Collections.sort(list); 
    for (int i = 0; i < array.length; i++) { 
       System.out.println(li.get(i)); 
    }  
    
    2) 混排(Shuffling) 
    混排算法所做的正好与 sort 相反: 它打乱在一个 List 中可能有的任何排列的踪迹。也就是说,基于随机源的输入重排该 List, 这样的排列具有相同的可能性(假设随机源是公正的)。这个算法在实现一个碰运气的游戏中是非常有用的。例如,它可被用来混排代表一副牌的 Card 对象的一个 List 。另外,在生成测试案例时,它也是十分有用的。 
    Collections.Shuffling(list) 
    double array[] = {112, 111, 23, 456, 231 }; 
    for (int i = 0; i < array.length; i++) { 
    list.add(new Double(array[i])); 
    } 
    Collections.shuffle(list); 
    for (int i = 0; i < array.length; i++) { 
       System.out.println(li.get(i)); 
    } 
    //结果:112,111,23,456,231 
    3) 反转(Reverse) 
           使用Reverse方法可以根据元素的自然顺序 对指定列表按降序进行排 
    序。 
    Collections.reverse(list) 
    double array[] = {112, 111, 23, 456, 231 }; 
    for (int i = 0; i < array.length; i++) { 
    list.add(new Double(array[i])); 
    } 
    Collections. reverse (list); 
    for (int i = 0; i < array.length; i++) { 
       System.out.println(li.get(i)); 
    } 
    //结果:231,456,23,111,112 
    
    4) 替换所以的元素(Fill) 
    使用指定元素替换指定列表中的所有元素。 
    String str[] = {"dd","aa","bb","cc","ee"}; 
    for(int j=0;j<str.length;j++){ 
    li.add(new String(str[j])); 
    } 
    Collections.fill(li,"aaa"); 
    for (int i = 0; i < li.size(); i++) { 
    System.out.println("list[" + i + "]=" + li.get(i)); 
    
    } 
    //结果:aaa,aaa,aaa,aaa,aaa 
    5) 拷贝(Copy) 
    用两个参数,一个目标 List 和一个源 List, 将源的元素拷贝到目标,并覆盖它的内容。目标 List 至少与源一样长。如果它更长,则在目标 List 中的剩余元素不受影响。 
    Collections.copy(list,li): 后面一个参数是目标列表 ,前一个是源列表 
    double array[] = {112, 111, 23, 456, 231 }; 
    List list = new ArrayList(); 
    List li = new ArrayList(); 
    for (int i = 0; i < array.length; i++) { 
    list.add(new Double(array[i])); 
    } 
    double arr[] = {1131,333}; 
    String str[] = {"dd","aa","bb","cc","ee"}; 
    for(int j=0;j<arr.length;j++){ 
    li.add(new Double(arr[j])); 
    } 
    Collections.copy(list,li); 
    for (int i = 0; i <list.size(); i++) { 
    System.out.println("list[" + i + "]=" + list.get(i)); 
    } 
    //结果:1131,333,23,456,231 
    6) 返回Collections中最小元素(min) 
    根据指定比较器产生的顺序,返回给定 collection 的最小元素。collection 中的所有元素都必须是通过指定比较器可相互比较的 
    Collections.min(list) 
    double array[] = {112, 111, 23, 456, 231 }; 
    List list = new ArrayList(); 
    for (int i = 0; i < array.length; i++) { 
    list.add(new Double(array[i])); 
    } 
    Collections.min(list); 
    for (int i = 0; i <list.size(); i++) { 
    System.out.println("list[" + i + "]=" + list.get(i)); 
    } 
    //结果:23 
    7) 返回Collections中最小元素(max) 
    根据指定比较器产生的顺序,返回给定 collection 的最大元素。collection 中的所有元素都必须是通过指定比较器可相互比较的 
    Collections.max(list) 
    double array[] = {112, 111, 23, 456, 231 }; 
    List list = new ArrayList(); 
    for (int i = 0; i < array.length; i++) { 
    list.add(new Double(array[i])); 
    } 
    Collections.max(list); 
    for (int i = 0; i <list.size(); i++) { 
    System.out.println("list[" + i + "]=" + list.get(i)); 
    } 
    //结果:456 
    8) lastIndexOfSubList 
    返回指定源列表中最后一次出现指定目标列表的起始位置 
    int count = Collections.lastIndexOfSubList(list,li); 
    double array[] = {112, 111, 23, 456, 231 }; 
    List list = new ArrayList(); 
    List li = new ArrayList(); 
    for (int i = 0; i < array.length; i++) { 
    list.add(new Double(array[i])); 
    } 
    double arr[] = {111}; 
    String str[] = {"dd","aa","bb","cc","ee"}; 
    for(int j=0;j<arr.length;j++){ 
    li.add(new Double(arr[j])); 
    } 
    Int locations = Collections. lastIndexOfSubList (list,li); 
    System.out.println(“===”+ locations); 
    //结果 3 
    9) IndexOfSubList 
    返回指定源列表中第一次出现指定目标列表的起始位置 
    int count = Collections.indexOfSubList(list,li); 
    double array[] = {112, 111, 23, 456, 231 }; 
    List list = new ArrayList(); 
    List li = new ArrayList(); 
    for (int i = 0; i < array.length; i++) { 
    list.add(new Double(array[i])); 
    } 
    double arr[] = {111}; 
    String str[] = {"dd","aa","bb","cc","ee"}; 
    for(int j=0;j<arr.length;j++){ 
    li.add(new Double(arr[j])); 
    } 
    Int locations = Collections.indexOfSubList(list,li); 
    System.out.println(“===”+ locations); 
    //结果 1 
    10) Rotate 
    根据指定的距离循环移动指定列表中的元素 
    Collections.rotate(list,-1); 
    如果是负数,则正向移动,正数则方向移动 
    double array[] = {112, 111, 23, 456, 231 }; 
    List list = new ArrayList(); 
    for (int i = 0; i < array.length; i++) { 
    list.add(new Double(array[i])); 
    } 
    Collections.rotate(list,-1); 
    for (int i = 0; i <list.size(); i++) { 
    System.out.println("list[" + i + "]=" + list.get(i)); 
    } 
    //结果:111,23,456,231,112 
  • 相关阅读:
    算法训练 表达式计算
    基础练习 十六进制转十进制
    基础练习 十六进制转十进制
    基础练习 十六进制转十进制
    New ways to verify that Multipath TCP works through your network
    TCP的拥塞控制 (Tahoe Reno NewReno SACK)
    Multipath TCP Port for Android 4.1.2
    How to enable ping response in windows 7?
    NS3
    Multipath TCP Port for Android
  • 原文地址:https://www.cnblogs.com/yujian-bcq/p/3714563.html
Copyright © 2011-2022 走看看