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,用来转换遗留的老代码)。

相关文章
相关标签/搜索