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< ...
随机推荐
- Matlab 常用绘图指令(二维图形)
使用matlab的时候常常会忘掉一些指令,每次都要重新查找,挺麻烦的,这里收集一些常用的绘图指令,供自己和大家以后方便查找和使用. 1.例子-包含了常用绘图命令 clear clc %%数据准备 x ...
- UploadFileUtil
package cn.tz.util.file; import java.io.File; import java.io.FileOutputStream; import java.io.InputS ...
- VPS 虚拟私有主机 Virtual Private Server
VPS技术介绍 利用最新虚拟化技术Xen在一台物理服务器上创建多个相互隔离的虚拟私有主机(“Virtual Private Server”简称 “VPS”).这些VPS以最大化的效率共享硬件.软件许可 ...
- Android 官方文档:(一)动画和图像 —— 1.5 画布和画图
The Android framework APIs provides a set 2D drawing APIs that allow you to render your owncustom gr ...
- 使用CSS3的@media来实现网页自适应
如今,电脑显示器的屏幕分辨率向越来越大发展,而手机等移动设备终端的分辨率却不可能大到哪里去.越来越多的网站,开始让自己的页面自适合各种分辨率,在小分辨率下显示基本的内容,在大分辨率下显示全部功能,甚至 ...
- 关于Hyper-V备份的四大注意事项
尽管Hyper-V备份相对简单,但备份管理员仍需注意四大问题.这四方面的问题在创建备份时可能不太重要,但在备份恢复时影响甚大. 1.对于虚拟机来说不仅意味着虚拟磁盘 就目前来看,企业在执行Hyper- ...
- 用最简单的例子理解命令模式(Command Pattern)
假设想让遥控器控制电灯的开关.电视机的开关和切换,该如何做? 所有的开.关.切换都是遥控器发出的指令,把这些指令统一抽象成一个接口. public interface IControl { void ...
- Bootstrap 3之美06-Page Header、Breadcrumbs、Dropdowns、Button Dropdowns、用Button和Dropdowns模拟Select、Input Groups、Thumbnails、Panels、Wells
本篇主要包括: ■ Page Header■ Breadcrumbs■ Button Groups■ Dropdowns■ Button Dropdowns■ 用Button和Dropdo ...
- MFC绘制直方图和饼图
转载原文: Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNorma ...
- 如何在发型不乱的前提下应对单日十亿计Web请求
原文地址:http://developer.51cto.com/art/201502/464640.htm 就在不久之前,AppLovin移动广告平台的单一广告请求数量突破了200亿大关——相当于每一 ...