`
bdk82924
  • 浏览: 565440 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Collections 类

阅读更多

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zccst/archive/2009/12/29/5097372.aspx

 

 

 java.util.Collections 类中定义了多种集合操作方法,实现了对集合操作方法,实现了对集合元素的排序、取极值、批量拷贝、集合结构转换、循环移位以及匹配性检查等功能,常用 static 方法如下:

 

public static void sort(List list);              // 自然排序, list 必须实现 Comparable 接口

public static void reverse(List list);           // 按照自然排序,进行反转,即降序

public static void shuffle(List list);           // 混排,与 sort 相反,完全打乱排列顺序

public static void copy(List dest, list src);      // 覆盖,如果 dest 更长,则其剩余元素不受影响

public static void fill(List list, Object o);      // 使用指定元素替换指定列表中的所有元素

public static ArrayList list(Enumeration e);     //

public static int frequency(Collection c, Object o);   // 出现的次数(频率)

public static int binarySearch(List list, Object o)  // 对顺序的 List ,折半查找特定对象

public static T min(Collection coll);           // 最小值

public static T max(Collection coll);           // 最大值

public static void rotate(List list, int distance);    // 根据指定的距离循环移动指定列表中的元素

 

调用时,用 Collections.sort() 方式,其他相似。

注:所有可以“排序”的类都实现了 java.lang.Comparable 接口, Comparable 接口中只有一个方法:

public int compareTo(Object obj);

该方法返回正数、零和负数,分别表示当前对象大于、等于和小于 obj 。

实现了 Comparable 接口的类通过实现 comparaTo 方法,从而确定该类对象的排序方式。

 

例如: TestCollections.java 

import java.util.Vector; 

import java.util.ArrayList; 

import java.util.Collections; 

import java.util.Enumeration; 

  

public class TestCollections{ 

       public static void main(String[] args) { 

              ArrayList alist = new ArrayList(); 

              alist.add(75); 

              alist.add(38); 

              alist.add(21); 

              alist.add(4); 

              alist.add(12); 

  

              System.out.println(" 原列表 : " + alist); 

              Collections.sort(alist); 

              System.out.println(" 排序后 : " + alist); 

              Collections.reverse(alist); 

              System.out.println(" 逆序后 : " + alist); 

              Collections.shuffle(alist); 

              System.out.println(" 混排后 : " + alist); 

              Collections.rotate(alist,2); 

              System.out.println(" 移位后 : " + alist);        

              

              ArrayList blist = new ArrayList(); 

              blist.add(55); 

              blist.add(66); 

              System.out.println(" 新列表 : " + blist); 

              Collections.copy(alist,blist); 

              System.out.println(" 拷贝后 : " + alist); 

  

              System.out.println(" 列表中出现元素 66 的次数 : " + Collections.frequency(alist,66)); 

              System.out.println(" 列表中元素的最大值 : " + Collections.max(alist)); 

              System.out.println(" 列表中元素的最小值 : " + Collections.min(alist)); 

  

              Enumeration en = createDemoEnumeration(); 

              ArrayList clist = Collections.list(en); 

              System.out.println("Enumeration->ArrayList: " + alist); 

       } 

       

       public static Enumeration createDemoEnumeration(){ 

              Vector v = new Vector(); 

              v.add("Tom");        

              v.add("Billy");              

              v.add("Jenny");             

              return v.elements();       

       } 

} 


 

 

输出结果:

原列表 : [75, 38, 21, 4, 12]

排序后 : [4, 12, 21, 38, 75]

逆序后 : [75, 38, 21, 12, 4]

混排后 : [12, 21, 4, 38, 75]

移位后 : [38, 75, 12, 21, 4]

新列表 : [55, 66]

拷贝后 : [55, 66, 12, 21, 4]

列表中出现元素 66 的次数 : 1

列表中元素的最大值 : 66

列表中元素的最小值 : 4

Enumeration->ArrayList: [55, 66, 12, 21, 4]


 

 

 

分享到:
评论

相关推荐

    Java软件开发实战 Java基础与案例开发详解 11-6 Collections类 共6页.pdf

    #### 11-6 Collections类 **Collections类** 是Java集合框架中的一个重要的工具类,主要用于提供各种实用方法来操作集合(尤其是`List`)。这些方法大多数是静态方法,可以直接通过类名调用。接下来我们将详细介绍...

    java 使用Collections类对List的排序操作

    在Java编程语言中,`Collections` 类是 `java.util` 包中的一个工具类,它提供了许多静态方法,用于操作各种集合,特别是列表(List)。本文将深入探讨如何使用 `Collections` 类对 List 进行排序操作。 首先,让...

    Collections

    Collections 类是一个集合工具类,它提供了多种操作集合的方法,如查找、排序、线程安全操作、不可变集合等。Collections 类的方法可以分为四大类:常规操作、排序、线程安全操作、不可变集合。 常规操作 ...

    集合工具类Collections的基本应用

    下面我们将深入探讨Collections类中的关键知识点。 1. **排序**: - `sort(List<T> list)`: 这个方法用于对List接口的实现类对象进行原地排序,要求List中的元素必须实现Comparable接口或者在调用时传入自定义的...

    Collections类_数据结构.md

    Collenctions集合在java日常的非常频繁,通过收录常用的Collections的用法,来帮助大家学习JAVA,打好基础

    commons-Collections最常用类介绍.pdf

    比如,Collections类可以用来对列表进行排序、查找、填充等操作。这些操作类通常不直接持有数据,而是通过调用容器类实例的方法来实现。 3. 辅助类:这类类以Iterator和Comparator为代表,提供了算法上的支持,协助...

    Apress的《Java Collections》

    此外,还会涉及Collection的复制、合并、过滤和转换等操作,这些功能由Collections类提供的静态方法实现。 书中还会深入到Collections框架的并发支持,讲解Concurrent包中的类,如ConcurrentHashMap和...

    GetTestieCollections:编写一些练习Collections类的测试

    编写一些练习Collections类的测试 创建一个项目,为每个Collections类编写1或2个测试。 找出最常见,最有用的方法,然后在为该类编写的测试中使用它们。 该类应该是例如TestHashMap,然后具有一个TestHasMap方法,...

    leon9dragon#all_blogs#061.JAVA集合框架_Arrays类和Collections类1

    1.1. Arrays 类的常用方法 1.2.1. emptyList()/emptyMap()/emptySet() 方法 1.2.7. synchroniz

    Collection与Collections,Array与Arrays的区别

    Collections类的方法都是静态的,不能被实例化,它主要用于对集合进行操作。 Collection和Collections的主要区别在于: * Collection是一个接口,提供了基本的集合操作,而Collections是一个静态类,提供了各种...

    【List、Set、数据结构、Collections】.pdf

    Collections类是一个包含各种用于操作集合的静态方法的类,例如排序、反转、洗牌等。其中,Collections工具类可以用于实现单个集合的排序功能,通过使用Comparable接口或者Comparator接口来定义元素的排序规则。 ...

    org.apache.commons.collections-3.2.1.jar.zip

    1. **集合工厂**:Collections类提供了一系列静态工厂方法,可以快速创建不同类型的集合实例,如List、Set、Map等,同时支持初始化集合时填充数据。 2. **迭代器工具**:提供迭代器的实用方法,如`IteratorUtils`,...

    Collections Framework中的算法(之一)――综述

    #### 三、Collections类详解 `java.util.Collections` 类则主要针对集合(如List、Set、Map等)提供了丰富的算法支持,具体包括: 1. **排序** `Collections.sort(List<T> list)` 用于对List进行排序,支持自然...

    Java Collections 技术研讨会资料+(带源码)

    此外,Collections框架还包括实用工具类,如Collections类,它提供了一系列静态方法,用于操作集合,如排序、填充、反转等。还有EnumSet和EnumMap,专门为枚举类型设计的高效集合实现。 在本次研讨会的实例代码中,...

    day15_Collections、树形结构、Set.pdf

    Collections类是Java中用于操作集合的工具类,提供了许多静态方法,可以帮助我们实现对集合的常见操作,如排序、搜索、填充等。 1. shuffle(List<?> list) 该方法用于随机打乱集合中的元素顺序,通常用于游戏或需要...

    容器的分类

    本篇文章将详细讲解容器的分类,重点探讨Java中的集合框架,包括List、Set以及重写toString方法的重要性,同时也会简单提及Collections类的使用。 首先,我们来了解容器的分类。在Java中,容器主要分为两大类:集合...

    collections4/collections15 jar

    但是,如果你的代码依赖于`collections15`中的特定功能,而你的类路径中只有`collections4`,那么就会导致`ClassNotDef`错误。 解决这种问题的方法通常有以下几点: 1. **确认依赖**:确保你的项目配置正确引用了...

    java集合案例.docx

    本文档主要讲解Java集合框架中的ArrayList、HashMap和Collections类的使用,通过一个扑克牌游戏的示例程序来演示这些类的应用。 一、 Java集合框架 Java集合框架(Java Collections Framework)是Java语言中对集合...

    常用工具类库1

    【Collections类】 Collections类是Java集合框架的一部分,它提供了一系列静态方法,用于操作实现了Collection接口的类。这个类不提供实例化,所有的方法都是静态的,可以直接通过Collections类调用。Collections类...

Global site tag (gtag.js) - Google Analytics