Collections类常用方法总结

 

Collections类常用方法总结
概述:
        Collections是针对集合类的一个帮助类,它提供了一系列静态方法实现了对各种集合的排序,搜索和线程安全等操作。

(若有写得不好的地方,请各位大侠指出,小弟感激不尽)

1、sort(Collection)方法的使用(含义:对集合进行排序)。
       例:对已知集合c进行排序?
              public class Practice {
                      public static void main(String[] args){
                                   List c = new ArrayList();
                                c.add("l");
                                c.add("o");
                               c.add("v");
                                c.add("e");
                              System.out.println(c);
                                Collections.sort(c);
                                System.out.println(c);
                        }
              }
        运行结果为:[l, o, v, e]
                               [e, l, o, v]            
2、shuffle(Collection)方法的使用(含义:对集合进行随机排序)。
      例:shuffle(Collection)的简单示例?
           public class Practice {
                     public static void main(String[] args){
                                  List c = new ArrayList();
                             c.add("l");
                              c.add("o");
                              c.add("v");
                             c.add("e");
                                 System.out.println(c);
                               Collections.shuffle(c);
                             System.out.println(c);
                              Collections.shuffle(c);
                               System.out.println(c);
                        }
             }
            运行结果为:[l, o, v, e]
                                   [l, v, e, o]
                                   [o, v, e, l]
3、binarySearch(Collection,Object)方法的使用(含义:查找指定集合中的元素,返回所查找元素的索引)。
     例:binarySearch(Collection,Object)的简单示例?
         public class Practice {
                  public static void main(String[] args){
                              List c = new ArrayList();
                          c.add("l");
                          c.add("o");
                           c.add("v");
                           c.add("e");
                          System.out.println(c);
                           int m = Collections.binarySearch(c, "o");
                             System.out.println(m);
                            int n = -m-1;
                    }
          }
    运行结果为:[l, o, v, e]
                          1
    注意:若查找的元素不存在,示例中的n即表示该元素最有可能存在的位置的索引。
4、max(Collection),max(Collection,Comparator)方法的使用(前者采用Collection内含自然比较法,后者采用Comparator进行比较)。
5、min(Collection),min(Collection,Comparator)方法的使用(前者采用Collection内含自然比较法,后者采用Comparator进行比较)。
6、indexOfSubList(List list,List subList)方法的使用(含义:查找subList在list中首次出现位置的索引)。
      例:
         public class Practice {
                    public static void main(String[] args){
                              List list = Arrays.asList("one two three four five six siven".split(" "));
                          System.out.println(list);
                              List subList = Arrays.asList("three four five six".split(" "));
                            System.out.println(Collections.indexOfSubList(list, subList));
                    }
           }
      运行结果为:[one, two, three, four, five, six, siven]
                             2
7、lastIndexOfSubList(List source,List target)方法的使用与上例方法的使用相同,在此就不做介绍了。
8、replaceAll(List list,Object old,Object new)方法的使用(含义:替换批定元素为某元素,若要替换的值存在刚返回true,反之返回false)。
    例:
       public class Practice {
                   public static void main(String[] args){
                          List list = Arrays.asList("one two three four five six siven".split(" "));
                             System.out.println(list);
                          List subList = Arrays.asList("three four five six".split(" "));
                           System.out.println(Collections.replaceAll(list, "siven", "siven eight"));
                           System.out.println(list);
                    }
          }
    运行结果为:
                     [one, two, three, four, five, six, siven]
                      true
                      [one, two, three, four, five, six, siven eight]
9、reverse()方法的使用(含义:反转集合中元素的顺序)。
      例:
         public class Practice {
                    public static void main(String[] args){
                              List list = Arrays.asList("one two three four five six siven".split(" "));
                            System.out.println(list);
                            Collections.reverse(list);
                           System.out.println(list);
                    }
          }
   运行结果为:
                    [one, two, three, four, five, six, siven]
                    [siven, six, five, four, three, two, one]
10、rotate(List list,int m)方法的使用(含义:集合中的元素向后移m个位置,在后面被遮盖的元素循环到前面来)。
       例:
          public class Practice {
                   public static void main(String[] args){
                               List list = Arrays.asList("one two three four five six siven".split(" "));
                            System.out.println(list);
                            Collections.rotate(list, 1);
                            System.out.println(list);
                      }
            }
    运行结果为:
                      [one, two, three, four, five, six, siven]
                    [siven, one, two, three, four, five, six]
11、copy(List m,List n)方法的使用(含义:将集合n中的元素全部复制到m中,并且覆盖相应索引的元素)。
       例:
            public class Practice {
                    public static void main(String[] args){
                            List m = Arrays.asList("one two three four five six siven".split(" "));
                            System.out.println(m);
                             List n = Arrays.asList("我 是 复制过来的哈".split(" "));
                             System.out.println(n);
                             Collections.copy(m,n);
                                System.out.println(m);
                      }
             }
   运行结果为:[one, two, three, four, five, six, siven]
                         [我, 是, 复制过来的哈]
                        [我, 是, 复制过来的哈, four, five, six, siven]         
12、swap(List list,int i,int j)方法的使用(含义:交换集合中指定元素索引的位置)。
        例:
            public class Practice {
                      public static void main(String[] args){
                             List m = Arrays.asList("one two three four five six siven".split(" "));
                              System.out.println(m);
                              Collections.swap(m, 2, 3);
                              System.out.println(m);
                        }
             }
    运行结果为:
           [one, two, three, four, five, six, siven]
           [one, two, four, three, five, six, siven]
13、fill(List list,Object o)方法的使用(含义:用对象o替换集合list中的所有元素)。
    例:
       public class Practice {
                 public static void main(String[] args){
                            List m = Arrays.asList("one two three four five six siven".split(" "));
                         System.out.println(m);
                          Collections.fill(m, "青鸟52T25小龙");
                         System.out.println(m);
                  }
       }
     运行结果为:
                       [one, two, three, four, five, six, siven]
                       [青鸟52T25小龙, 青鸟52T25小龙, 青鸟52T25小龙, 青鸟52T25小龙, 青鸟52T25小龙, 青鸟52T25小龙, 青鸟52T25小龙]
14、nCopies(int n,Object o)方法的使用(含义:返回大小为n的List,List不可改变,其中的所有引用都指向o)。
    例:
       public class Practice {
                public static void main(String[] args){
                          System.out.println(Collections.nCopies(5, "嘿嘿"));
                   }
        }
    运行结果为:
        [嘿嘿, 嘿嘿, 嘿嘿, 嘿嘿, 嘿嘿]
15、enumeration(Collection)方法的使用(含义:为参数生成一个旧式的Enumeration)。
       例:
           public class Practice {
                 public static void main(String[] args){
                             List list = Arrays.asList("I love you xiao long".split(" "));
                           System.out.println(list);
                          Enumeration e = Collections.enumeration(list);
                          Vector v = new Vector();
                            while(e.hasMoreElements()){
                                       v.addElement(e.nextElement());
                            }
                    }
            }
16、list(Enumeration e)方法的使用(含义:返回使用Enumeration生成的ArrayList,用来转换遗留的老代码)。
 

你可能感兴趣的:(JAVA工具类API)