Collections类常用方法总结
概述:
Collections是针对集合类的一个帮助类,它提供了一系列静态方法实现了对各种集合的排序,搜索和线程安全等操作。
(若有写得不好的地方,请各位大侠指出,小弟感激不尽)
1、sort(Collection)方法的使用(含义:对集合进行排序)。
例:对已知集合c进行排序?
public class Practice {
public static void main(String[] args){
List c = new ArrayList();
c.add("l");
c.add("o");
c.add("v");
c.add("e");
System.out.println(c);
Collections.sort(c);
System.out.println(c);
}
}
运行结果为:[l, o, v, e]
[e, l, o, v]
2、shuffle(Collection)方法的使用(含义:对集合进行随机排序)。
例:shuffle(Collection)的简单示例?
public class Practice {
public static void main(String[] args){
List c = new ArrayList();
c.add("l");
c.add("o");
c.add("v");
c.add("e");
System.out.println(c);
Collections.shuffle(c);
System.out.println(c);
Collections.shuffle(c);
System.out.println(c);
}
}
运行结果为:[l, o, v, e]
[l, v, e, o]
[o, v, e, l]
3、binarySearch(Collection,Object)方法的使用(含义:查找指定集合中的元素,返回所查找元素的索引)。
例:binarySearch(Collection,Object)的简单示例?
public class Practice {
public static void main(String[] args){
List c = new ArrayList();
c.add("l");
c.add("o");
c.add("v");
c.add("e");
System.out.println(c);
int m = Collections.binarySearch(c, "o");
System.out.println(m);
int n = -m-1;
}
}
运行结果为:[l, o, v, e]
1
注意:若查找的元素不存在,示例中的n即表示该元素最有可能存在的位置的索引。
4、max(Collection),max(Collection,Comparator)方法的使用(前者采用Collection内含自然比较法,后者采用Comparator进行比较)。
5、min(Collection),min(Collection,Comparator)方法的使用(前者采用Collection内含自然比较法,后者采用Comparator进行比较)。
6、indexOfSubList(List list,List subList)方法的使用(含义:查找subList在list中首次出现位置的索引)。
例:
public class Practice {
public static void main(String[] args){
List list = Arrays.asList("one two three four five six siven".split(" "));
System.out.println(list);
List subList = Arrays.asList("three four five six".split(" "));
System.out.println(Collections.indexOfSubList(list, subList));
}
}
运行结果为:[one, two, three, four, five, six, siven]
2
7、lastIndexOfSubList(List source,List target)方法的使用与上例方法的使用相同,在此就不做介绍了。
8、replaceAll(List list,Object old,Object new)方法的使用(含义:替换批定元素为某元素,若要替换的值存在刚返回true,反之返回false)。
例:
public class Practice {
public static void main(String[] args){
List list = Arrays.asList("one two three four five six siven".split(" "));
System.out.println(list);
List subList = Arrays.asList("three four five six".split(" "));
System.out.println(Collections.replaceAll(list, "siven", "siven eight"));
System.out.println(list);
}
}
运行结果为:
[one, two, three, four, five, six, siven]
true
[one, two, three, four, five, six, siven eight]
9、reverse()方法的使用(含义:反转集合中元素的顺序)。
例:
public class Practice {
public static void main(String[] args){
List list = Arrays.asList("one two three four five six siven".split(" "));
System.out.println(list);
Collections.reverse(list);
System.out.println(list);
}
}
运行结果为:
[one, two, three, four, five, six, siven]
[siven, six, five, four, three, two, one]
10、rotate(List list,int m)方法的使用(含义:集合中的元素向后移m个位置,在后面被遮盖的元素循环到前面来)。
例:
public class Practice {
public static void main(String[] args){
List list = Arrays.asList("one two three four five six siven".split(" "));
System.out.println(list);
Collections.rotate(list, 1);
System.out.println(list);
}
}
运行结果为:
[one, two, three, four, five, six, siven]
[siven, one, two, three, four, five, six]
11、copy(List m,List n)方法的使用(含义:将集合n中的元素全部复制到m中,并且覆盖相应索引的元素)。
例:
public class Practice {
public static void main(String[] args){
List m = Arrays.asList("one two three four five six siven".split(" "));
System.out.println(m);
List n = Arrays.asList("我 是 复制过来的哈".split(" "));
System.out.println(n);
Collections.copy(m,n);
System.out.println(m);
}
}
运行结果为:[one, two, three, four, five, six, siven]
[我, 是, 复制过来的哈]
[我, 是, 复制过来的哈, four, five, six, siven]
12、swap(List list,int i,int j)方法的使用(含义:交换集合中指定元素索引的位置)。
例:
public class Practice {
public static void main(String[] args){
List m = Arrays.asList("one two three four five six siven".split(" "));
System.out.println(m);
Collections.swap(m, 2, 3);
System.out.println(m);
}
}
运行结果为:
[one, two, three, four, five, six, siven]
[one, two, four, three, five, six, siven]
13、fill(List list,Object o)方法的使用(含义:用对象o替换集合list中的所有元素)。
例:
public class Practice {
public static void main(String[] args){
List m = Arrays.asList("one two three four five six siven".split(" "));
System.out.println(m);
Collections.fill(m, "青鸟52T25小龙");
System.out.println(m);
}
}
运行结果为:
[one, two, three, four, five, six, siven]
[青鸟52T25小龙, 青鸟52T25小龙, 青鸟52T25小龙, 青鸟52T25小龙, 青鸟52T25小龙, 青鸟52T25小龙, 青鸟52T25小龙]
14、nCopies(int n,Object o)方法的使用(含义:返回大小为n的List,List不可改变,其中的所有引用都指向o)。
例:
public class Practice {
public static void main(String[] args){
System.out.println(Collections.nCopies(5, "嘿嘿"));
}
}
运行结果为:
[嘿嘿, 嘿嘿, 嘿嘿, 嘿嘿, 嘿嘿]
15、enumeration(Collection)方法的使用(含义:为参数生成一个旧式的Enumeration)。
例:
public class Practice {
public static void main(String[] args){
List list = Arrays.asList("I love you xiao long".split(" "));
System.out.println(list);
Enumeration e = Collections.enumeration(list);
Vector v = new Vector();
while(e.hasMoreElements()){
v.addElement(e.nextElement());
}
}
}
16、list(Enumeration e)方法的使用(含义:返回使用Enumeration生成的ArrayList,用来转换遗留的老代码)。
分享到:
相关推荐
本教程将深入探讨Collections工具类中的一些常用方法,帮助开发者更好地理解和运用这些功能。 首先,Collections工具类提供了一些通用的操作方法,例如`sort()`,它可以对List进行排序。`sort(List<T> list)`方法...
本篇将对一些常见的C#类进行深入的总结,帮助C#开发者更好地理解和应用。 首先,我们要提到的是`System.Object`,它是所有C#类的基类。每个类都直接或间接地继承自它,包含了一些基本的方法,如`ToString()`、`...
此外,`java.util.ArrayList`和`java.util.Collections`类提供了丰富的工具方法,用于操作集合,如排序、翻转、查找、填充等。`java.util.Random`类用于生成随机数,`java.util.Scanner`用于从各种输入源读取数据,...
本文将对Java中一些常用的集合类进行总结。 首先,ArrayList是List接口的一个实现,它允许我们在列表中按索引存取元素。在上述代码中,创建了一个ArrayList对象`list`并添加了不同类型的元素,包括字符串和自定义的...
通过本节的学习,我们了解了`Collections`类在Java集合框架中的重要作用以及常用的静态方法。掌握这些方法可以帮助开发者更高效地处理集合数据。在实际开发中,合理利用这些工具方法可以提高代码的可读性和效率。...
在11年的编程生涯中,积累了一系列常用的Java工具类,这些类包含了上百种方法,几乎覆盖了大部分常见的编程场景。下面将详细阐述一些重要的Java工具类及其常用方法。 1. **Apache Commons Lang**: Apache Commons ...
`ArrayListValuedHashMap` 和 `MultiMap` 是两个常用的类,它们分别实现了可以存储多个值的 Map 和 List 功能。 4. **Net**: 这个模块提供了网络通信相关的功能,如 HTTP 客户端、FTP 客户端等。`HttpClient` 类可...
Apache Commons Collections是Java开发中常用的一个开源库,它为Java集合框架提供了大量的实用工具类和扩展。"commons-collections-3.2.jar"是该库的版本3.2的实现,它包含了一系列高效、实用且功能丰富的数据结构和...
Java集合框架工具类自定义Collections集合方法是Java开发中常用的技术之一,用于对集合进行处理和操作。本文将详细介绍如何自定义Collections集合方法,以便更好地处理集合数据。 标题解释 Java集合框架工具类...
以下是我个人对Java中常用工具类的总结,主要涉及了加密、文件上传和日期处理等核心领域。 1. **加密工具类**: - `java.security` 包下的 `MessageDigest` 类用于实现消息摘要算法,如MD5和SHA,常用于数据完整性...
"java list常用方法总结" Java List 是 Java 编程语言中的一种常用的数据结构,用于存储和操作数据。以下是 Java List 的一些常用方法总结: 1. 截取指定部分:使用 subList() 方法可以截取 List 中的指定部分,...
- `Collections.synchronizedXXX`方法可以将非线程安全的集合转换为线程安全,但效率较低。 - 使用`java.util.concurrent`包中的并发集合类,如ConcurrentHashMap,可以提高多线程环境下的性能。 总结,Java集合...
本篇将详细探讨C#中的几个常用类,基于4年的实践经验进行总结,旨在帮助开发者更好地理解和运用。 1. **System.String**: 字符串是编程中最基础的数据类型之一。`System.String`类提供了许多用于操作字符串的方法,...
本章主要介绍了Java中Collections类的常用方法,包括shuffle()、sort()等,以及Set集合的基本概念,特别是HashSet和TreeSet的区别。同时,讲解了如何对自定义类型进行排序,即实现Comparable接口或使用Comparator。...
这些类分布在不同的命名空间中,如System、System.IO、System.Collections.Generic等。以下是对这些常用类的一些详细说明: 1. **System.Object**: 所有.NET类的基类,包含了诸如Equals()、GetHashCode()和ToString...
【个人Java后台项目中总结的常用类】 在Java后端开发中,经常会遇到各种各样的类和工具,这些类能够帮助我们高效地处理业务逻辑、数据操作和系统交互。以下是一些在Java实战中非常重要的类及其应用: 1. **...
Java中的`Collections.sort()`方法是最常用的排序工具,它可以对List接口的实现类进行原地排序。例如,我们可以对ArrayList或LinkedList调用此方法,排序会按照元素的自然顺序或者自定义比较器进行。 ```java List...
在这个压缩包文件中,我们可以找到作者多年工作经验总结的C#常用帮助类,这将有助于我们更好地理解和应用.NET框架。 1. **System.IO**: 这个命名空间包含了处理文件和目录的类。如`File`类用于文件的基本操作,如...