一、Collections简介

在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合

二、Collections类的常用方法及常量

No.
方法
类型
描述
1
public static final List EMPTY_LIST
常量
返回一个空的List集合
2
public static final Set EMPTY_SET
常量
返回空的Set集合
3
public static final Map EMPTY_MAP
常量
返回空的Map集合
4
public static <T> boolean addAll(Collection<? super T> c, T... a)
普通
为集合添加内容
5
public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)
普通
找到最大的内容,按比较器排序
根据元素的自然顺序,返回给定集合的最大元素
6
public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)
普通
找到集合中的最小内容,按比较器排序
根据元素的自然顺序 返回给定集合的最小元素
7
public static <T> boolean replaceAll(List<T> list,T oldVal,T newVal)
普通
用新的内容替换集合的指定内容
使用另一个值替换集合中出现的所有某一指定值
8
public static void reverse(List<?> list)
普通
反转指定List 集合中元素的顺序。
9
public static <T> int binarySearch(List<? extends Comparable<? super T>> list,T key)
普通
查找集合中的指定内容

使用二分查找算法查找指定List 集合,以获得指
定对象的索引位置。

10
public static final <T> List<T> emptyList()
普通
返回一个空的List集合
11
public static final <K,V> Map<K,V> emptyMap()
普通
返回一个空的Map集合
12
public static final <T> Set<T> emptySet()
普通
返回一个空的Set集合
13
public static <T extends Comparable<? super T>> void sort(List<T> list)
普通
集合排序操作,根据Comparable接口进行排序

根据元素的自然顺序 对指定List 集合按升
序进行排序。

14
public static void swap(List<?> list,int i,int j)
普通
交换指定位置的元素

三、将指定List 集合中的元素顺序反转

package com.pb.demo2;

import java.util.Collections;
import java.util.LinkedList;
import java.util.List; public class CollectionsTest1 { public static void main(String[] args) {
//声明集合并添加元素
LinkedList<String> list = new LinkedList<String>();
list.add("one");
list.add("two");
list.add("three"); System.out.println("=======正常遍历============");
for (String s : list) {
System.out.print(s+"\t");
}
System.out.println();
System.out.println("=======执行reverse方法============");
Collections.reverse(list);
for (String s : list) {
System.out.print(s+"\t");
} } }

四、sort 方法的作用是对指定List 集合按升序进行排序

package com.pb.demo2;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List; public class CollectionsTest2 { public static void main(String[] args) {
//声明集合并添加集
List<Integer> list = new ArrayList<Integer>();
list.add(7);
list.add(2);
list.add(5);
list.add(3);
list.add(1);
System.out.println("=======正常遍历============");
for (Integer i : list) {
System.out.print(i+"\t");
} System.out.println("\n=======执行sort方法============");
Collections.sort(list);
for (Integer i : list) {
System.out.print(i+"\t");
}
System.out.println("\n=======执行reverse方法============");
Collections.reverse(list);
for (Integer i : list) {
System.out.print(i+"\t");
}
} }

结果:

=======正常遍历============
7 2 5 3 1
=======执行sort方法============
1 2 3 5 7
=======执行reverse方法============
7 5 3 2 1

五、集合查找、替换的方法

package com.pb.demo2;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List; public class CollectionsTest3 { public static void main(String[] args) {
//声明集合并添加集
//创建集合
List<String> list = new ArrayList<String>();
//增加10 个不同单词
list.add("this");
list.add("is");
list.add("collection");
list.add("test");
list.add("and");
list.add("we");
list.add("can");
list.add("learn");
list.add("how");
list.add("to");
System.out.println("=======正常遍历============");
for (String s : list) {
System.out.print(s+"\t");
}
//打印输出集合中最大元素和最小元素
System.out.println("\n========打印输出集合中最大元素和最小元素=========");
String max=Collections.max(list);
String min=Collections.min(list);
System.out.println("list集合中的最大值:"+max);
System.out.println("list集合中的最小值:"+min);
System.out.println("\n=======执行sort方法============");
Collections.sort(list);
for (String s : list) {
System.out.print(s+"\t");
}
//binarySearch使用的前提是要排序才可以使用
System.out.println("\n=============binarySearch根据内容查找索引================");
System.out.println("we在list中的索引是:"+Collections.binarySearch(list, "we"));
System.out.println("=============replaceAll方法================");
//replaceAll
Collections.replaceAll(list, "we", "our");
for (String s : list) {
System.out.print(s+"\t");
}
//swap
System.out.println("======swap========");
Collections.swap(list, 0, 9);
for (String s : list) {
System.out.print(s+"\t");
} }
}

结果:

=======正常遍历============
this is collection test and we can learn how to
========打印输出集合中最大元素和最小元素=========
list集合中的最大值:we
list集合中的最小值:and =======执行sort方法============
and can collection how is learn test this to we
=============binarySearch根据内容查找索引================
we在list中的索引是:9
=============replaceAll方法================
and can collection how is learn test this to our ======swap========
our can collection how is learn test this to and

六、使用Arrays.asList生成集合

package com.pb.demo2;

import java.util.Arrays;
import java.util.List; public class Test1 { public static void main(String[] args) {
String str="a,b,c,d,e,f";
List<String> list1=Arrays.asList(str);
System.out.println("list1的长度: "+list1.size());
for (String s : list1) {
System.out.print(s+"\t");
}
System.out.println("\n按逗号分离后生成集合");
List<String> list2=Arrays.asList(str.split(","));
System.out.println("list2的长度: "+list2.size());
for (String s : list2) {
System.out.print(s+"\t");
}
} }

结果:

list1的长度:  1
a,b,c,d,e,f
按逗号分离后生成集合
list2的长度: 6
a b c d e f

最新文章

  1. Java中的堆栈区别
  2. Timus 2068. Game of Nuts 解题报告
  3. poj 1386 Play on Words(有向图欧拉回路)
  4. Hibernate入门(2)- 不用配置用注解
  5. GDI+中发生一般性错误之文件被占用
  6. extjs中第一次访问有效,第二次访问出现部分组件无法显示的,动态改变组件的label值的方法,ExtJs中组件最好少使用ID属性(推荐更多使用Name属性)
  7. vbox下centos安装增加功能失败
  8. Java 二次MD5 32位小写加密算法与php页面加密结果相同
  9. C++ STL 容器之栈的使用
  10. 自制Linux 终端 锁屏防窃助手
  11. NodeJs操作MongoDB之分页功能与常见问题
  12. dns资源记录类型
  13. 【Python】使用torrentParser1.02对单文件torrent的分析结果
  14. Qt——布局管理器
  15. Python实现简单HTTP服务器(一)
  16. python编码(一)
  17. 3YAdmin-专注通用权限控制与表单的后台管理系统模板
  18. Appium 安装详细版教程
  19. RAC:Oracle11gR2:启动gsd服务
  20. Jenkins插件开发(三)-- 插件编写

热门文章

  1. hdoj 5198 Strange Class 水题
  2. Codeforces Round #296 (Div. 1) A. Glass Carving Set的妙用
  3. poj 3630 Phone List 贪心
  4. 使用TensorFlow低级别的API进行编程
  5. systemtap 2.8 news
  6. MultipartFile+nio上传文件
  7. C# 输入法 z
  8. ztree使用系列三(ztree与springmvc+spring+mybatis整合实现增删改查)
  9. .NET:通过 CAS 来理解数据库乐观并发控制,顺便给出无锁的 RingBuffer。
  10. Spring注解方式实现任务调度【官方文档翻译】