`
bewithme
  • 浏览: 430484 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java基础之---Collections工具类

 
阅读更多

     Collections工具类位于java.util包下,这个类包括了专门的静态方法,操作或返回集合对象,它包括了各种操作集合对象的算法。现在我们将对这个工具类的所有公共方法进行分析。

 1,public static <T extends Comparable<? super T>> void sort(List<T> list)列表排序方法。

 

 

 

public static <T extends Comparable<? super T>> void sort(List<T> list) 该方法对指定的List对象排序,我们来看看这个方法的原代码:

public static <T extends Comparable<? super T>> void sort(List<T> list) {
	Object[] a = list.toArray();//将List对象转换成Object数组
	Arrays.sort(a);//用数组工具类进行排序
	ListIterator<T> i = list.listIterator();//将List对象变成迭代对象
	for (int j=0; j<a.length; j++) {//遍历排序后的数组
	    i.next();
	    i.set((T)a[j]);//重新赋值
	}
    }

我们并不难发现,这个方法是先将List对象转换成数组,然后用数组工具类Arrays的sort方法进行排序,然后将排序后的数组元数重新赋值给这个List对象。

 示例代码

由于这个方法与Arrays.sort()方法的作用类似,所以可以参考上篇文章《Java基础之---Arrays工具类》中的示例。

 

 

2, public static void reverse(List<?> list)对指定List进行反转,即倒排list里的所有元素。

 

示例代码

 

List listTest=new ArrayList();
		listTest.add("1");
		listTest.add("2");
		listTest.add("3");
		listTest.add("4");
		listTest.add("5");
		
		System.out.println("List对象listTest反转前内部元素为:"+listTest.toString());
		Collections.reverse(listTest);
		System.out.println("List对象listTest反转后内部元素为:"+listTest.toString());

 

运行结果

List对象listTest反转前内部元素为:[1, 2, 3, 4, 5]
List对象listTest反转后内部元素为:[5, 4, 3, 2, 1]

 

 

3,public static void shuffle(List<?> list) 随机打乱list对象中的元素。

 

示例代码

List listTest=new ArrayList();
		listTest.add("1");
		listTest.add("2");
		listTest.add("3");
		listTest.add("4");
		listTest.add("5");
		
		System.out.println("List对象listTest打乱前内部元素为:"+listTest.toString());
		Collections.shuffle(listTest);
		System.out.println("List对象listTest打乱后内部元素为:"+listTest.toString());

 

运行结果

List对象listTest打乱前内部元素为:[1, 2, 3, 4, 5]
List对象listTest打乱后内部元素为:[3, 1, 4, 2, 5]

 

 4,public static void rotate(List<?> list, int distance)将指定的LIST对象中的元素按指定的距离旋转,当distance为正数时,从高位到低位旋转,当distance为负数时从低位向高位旋转。

 

示例代码

 

List listTest=new ArrayList();
		listTest.add("1");
		listTest.add("2");
		listTest.add("3");
		listTest.add("4");
		listTest.add("5");
		System.out.println("List对象listTest旋转前内部元素为:"+listTest.toString());
		Collections.rotate(listTest, 2);//当2为负数时是低位向高位旋转
		System.out.println("List对象listTest高位向低位旋转2位后内部元素为:"+listTest.toString());

 

运行结果

List对象listTest旋转前内部元素为:[1, 2, 3, 4, 5]
List对象listTest高位向低位旋转2位后内部元素为:[3, 4, 5, 1, 2]

 

示例代码

 

	List listTest=new ArrayList();
		listTest.add("1");
		listTest.add("2");
		listTest.add("3");
		listTest.add("4");
		listTest.add("5");
		System.out.println("List对象listTest旋转前内部元素为:"+listTest.toString());
		Collections.rotate(listTest, -2);//当2为负数时是低位向高位旋转
		System.out.println("List对象listTest低位向高位旋转2位后内部元素为:"+listTest.toString());

 运行结果

 

List对象listTest旋转前内部元素为:[1, 2, 3, 4, 5]
List对象listTest低位向高位旋转2位后内部元素为:[3, 4, 5, 1, 2]

 我的网店,有劳各位参观参观 http://mrs-x.taobao.com/

分享到:
评论

相关推荐

    commons-beanutils、commons-collections、commons-collections等常用jar 包下载

    这三款库在Java开发中应用广泛,特别是在处理对象属性、集合操作和通用工具类时。它们使得代码更加简洁,减少了重复工作,并提高了代码的可读性和可维护性。在实际项目中,根据需求选择合适版本的Apache Commons库,...

    1-Collections-Overview-Section-Java-Collections-S_overview

    3. 工具类: - **Collections**: 提供了一系列静态方法,用于操作集合,如排序、查找、填充、反转等。 - **Arrays**: 用于处理数组,包含排序、比较、复制等功能。 - **ArrayList/LinkedList**: 分别提供了基于...

    Java-Development-Kits-Collections.zip_gwt-console-rpc.jar_mchang

    Java开发包是程序员进行Java应用程序开发的基础工具,它包含了运行和构建Java程序所需的各种库、API文档以及开发工具。在给定的压缩包"Java-Development-Kits-Collections.zip_gwt-console-rpc.jar_mchang"中,我们...

    Java基础----集合类汇总

    Java集合框架还包含了一些工具类,如Collections和Arrays,它们提供了各种实用方法,如排序、复制、反转和查找集合中的特定元素。此外,Set和List接口都有一个叫做CopyOnWriteArrayList和CopyOnWriteArraySet的特殊...

    commons.collections-3.2.1和commons-beanutils-1.9.2和commons.collections-3.2.1

    Commons Collections和Apache BeanUtils是Java开发中常用的两个库,它们为开发者提供了丰富的工具类和功能,使得处理集合对象和Bean属性变得更加便捷。这两个库在Java Web开发中扮演着重要角色,尤其是在构建MVC框架...

    commons-collections4-4.1

    Apache Commons Collections是一个Java库,它提供了大量的集合框架增强功能,扩展了Java标准库中的集合类。这个库在Java开发中非常实用,因为它包含了各种高效、功能丰富的数据结构和算法,可以显著提高代码的效率和...

    commons-beanutils-1.9.2和commons.collections-3.2.1

    Apache Commons Collections库则是Java集合框架的扩展,它提供了大量实用的集合工具类和算法,如列表、映射、队列、堆栈等的增强。3.2.1版本同样是一个成熟的版本,包含了许多优化和改进。使用Collections库,开发者...

    jdk-1.7-java-7-openjdk-amd64.zip

    9. **并行数组操作**:`java.util.Arrays`和`java.util.Collections`类增加了并行处理的方法,如`parallelSort()`,利用多核处理器进行高效排序。 Android开发通常依赖于特定版本的JDK,尽管Android Studio现在推荐...

    commons-collections-3.2.1-bin

    6. **集合工厂**:`Factory`接口和相关的工具类可以方便地创建集合实例,避免了每次创建时的重复代码。 7. **堆栈和队列**:`QueueUtils`和`StackUtils`提供了对队列和堆栈操作的支持,如创建队列和堆栈,以及进行...

    commons-collections-3.2.1.jar

    Apache Commons Collections是Apache软件基金会的一个项目,它提供了一系列强大的、用于处理Java集合框架的工具类和算法。在这个项目中,`commons-collections-3.2.1.jar`是一个重要的库文件,包含了丰富的功能,...

    commons-collections4-4.1.jar

    Commons Collections是Apache软件基金会开发的一个Java库,主要提供对集合框架的增强和扩展。这个库是Java标准集合接口的补充,增加了许多实用的功能,提高了代码的可读性和效率。"commons-collections4-4.1.jar"是...

    java工具类-正则

    ### Java工具类详解:正则表达式应用及Arrays与Collections常用功能 ...以上就是关于Java中工具类-正则表达式的详细介绍,这些工具类和方法在日常开发中非常实用,掌握它们可以帮助开发者更加高效地完成任务。

    559.557.JAVA基础教程_集合-Collections工具类常用方法的测试(559).rar

    Java集合框架是Java编程中不可或缺的部分,而Collections工具类则是这个框架中的一个重要工具,它提供了大量静态方法,用于操作各种集合接口(如List、Set、Queue等)的实例。本教程将深入探讨Collections工具类中的...

    commons-collections4-4.2-bin

    Apache Commons Collections是一个强大的Java集合框架扩展库,它为Java的内置集合类提供了丰富的功能增强。这个"commons-collections4-4.2-bin"是Apache Commons Collections的第4版的第2次更新,是一个二进制分发包...

    commons-collections-3.2.2-

    Apache Commons Collections是一个Java库,包含了丰富的集合操作工具和算法,为Java平台的开发提供了大量的实用类和接口。这个"commons-collections-3.2.2-"版本是该库的一个特定发行版,主要用于解决WebLogic服务器...

    commons-collections4-4.4-bin.zip

    这个"commons-collections4-4.4-bin.zip"文件包含了Apache Commons Collections的4.4版本,它是该库的一个稳定版本,提供了一系列增强和额外的工具类,以帮助开发者更高效地处理Java集合。 1. **接口增强**: ...

    java工具类集合

    Java工具类集合是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,工具类通常被组织在各种包下,如`java.util`、`java.lang`、`java.io`等。下面将详细介绍...

    JAVA基础-----面试宝典

    - **Collections**:是一个工具类,提供了一系列静态方法来操作集合。 ### 15. assert 关键字 `assert` 语句用于断言某个条件为真,主要用于调试阶段检测错误。如果表达式为 false,则会抛出 AssertionError 异常...

    Java核心技术-卷1(基础知识-原书第10版)

    11. **多线程**:讲解线程的创建、同步机制(synchronized关键字、wait/notify机制、Lock接口)、并发工具类如ExecutorService和Future。 12. **异常处理**:介绍异常的分类、抛出和捕获,以及如何使用try-catch-...

    commons-collections-3.2.2-bin.zip

    Apache Commons Collections,简称Collections,是Apache软件基金会提供的一款开源Java库,它为Java集合框架提供了大量的实用工具类和扩展功能。在Java开发中,Collections库是不可或缺的一部分,极大地丰富了对数据...

Global site tag (gtag.js) - Google Analytics