Java从零开始学二十四(集合工具类Collections)
一、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
Java从零开始学二十四(集合工具类Collections)的更多相关文章
- Java笔记(二十四)……集合工具类Collections&Arrays
Collections 集合框架的工具类,方法全部为静态 Collections与Collection的区别 Collection是集合框架的一个顶层接口,里面定义了单列集合的共性方法 Collect ...
- Java从零开始学三十(String和StringBuffer类)
一.StringBuffer连接字符操作 当一个字符串的内容需要被经常改变时就要使用StringBuffer 在StringBuffer中使用append()方法,完成字符串的连接操作 二.Str ...
- Java从零开始学二十二(集合Set接口)
一.Set接口的定义 Set接口也是Collection接口的子接口,但是与Collection或List接口不同的是,Set接口中不能加入重复的元素 Set接口的主要方法与Collection是一致 ...
- Java从零开始学二十(集合简介)
一.为什么需要集合框架 数组的长度是固定的,但是如果写程序时并不知道程序运行时会需要多少对象.或者需要更复杂的方式存储对象,---那么,可以使用JAVA集合框架,来解决这类问题 二.集合框架主要接口 ...
- Java从零开始学二十九(大数操作(BigIntger、BigDecimal)
一.BigInteger 如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作. 不可变的任意精度的整数.所有操作中 ...
- Java从零开始学二十八(Math类和Random类)
一.Math概述 提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率) 二.常用方法 package com.pb.demo1; public class MathTest { ...
- Java从零开始学二十六(包装类)
一.包装类 包装类是将基本类型封装到一个类中.也就是将基本数据类型包装成一个类类型. java程序设计为每一种基本类型都提供了一个包装类.这些包装类就在java.lang包中.有8个包装类 二.包装类 ...
- Java从零开始学二十五(枚举定义和简单使用)
一.枚举 枚举是指由一组固定的常量组成的类型,表示特定的数据集合,只是在这个数据集合定义时,所有可能的值都是已知的. 枚举常量的名称建议大写. 枚举常量就是枚举的静态字段,枚举常量之间使用逗号隔开. ...
- Java:集合工具类-Collections
Java.util.Collections 集合框架工具类Collections,其方法都是静态的,本身没有构造函数. 常见方法: static <T extends Comparable< ...
随机推荐
- 二值化方法:Kittler:Minimum Error Thresholding
Kittler二值化方法,是一种经典的基于直方图的二值化方法.由J. Kittler在1986年发表的论文“Minimum Error Thresholding”提出.论文是对贝叶斯最小错误阈值的准则 ...
- nginx新建nginx_fzjh.conf文件,不使用默认配置文件
worker_processes 4; events{ worker_connections 1024; } http{ server { listen 80; server_name myserve ...
- django源码(2.0.2)粗解之命令行执行
前言 django的命令行在整个的django web开发中都会经常用到,而且是必须得用到.所以,能够了解下django的命令行实现其实是非常有帮助的. 如果大家比较关心django命令的详细说明和使 ...
- HDU 4499 Cannon (搜索)
Cannon Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Subm ...
- spring boot JedisCluster连接redis集群配置
配置文件 配置类 构造的时候, 可以看一下, 只有Set<HostAndPort> 参数是必须的 做了一层封装, 更方便使用 结果
- 使用Bootstrap 3开发响应式网站实践01,前期准备、导航区域等
"使用Bootstrap 3开发响应式网站实践"系列,将使用Bootstrap 3.2制作一个自适应网站,无论是在电脑.平板,还是手机上,都呈现比较好的效果.在电脑浏览器上的最终效 ...
- MVC动态添加文本框,后台使用FormCollection接收
在"MVC批量添加,增加一条记录的同时添加N条集合属性所对应的个体"中,对于前台传来的多个TextBox值,在控制器方法中通过强类型来接收.使用FormCollection也可以接 ...
- Spring事务传播机制与隔离级别(转)
Spring事务传播机制与隔离级别 博客分类: Spring 转自:http://blog.csdn.net/edward0830ly/article/details/7569954 (写的不错) ...
- org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=----WebKitFormBoundaryRAYPKeHKTYSNdzc1;charset=UTF-8' not supported
原文:https://www.cnblogs.com/yueli/p/7552888.html 最近同事在做一个图片上传功能.在入参 body 中同时传入文件和其它基本信息结果出现如题异常.在此记录下 ...
- java中初始化对象变量的方法
1.在类定义对象的地方初始化 2.在类构造器中初始化 3.在正要使用这些对象之前,惰性初始化,或者叫惰性载入 4.使用实例初始化 在方法里使用初始化