Java Collections集合工具类的用法(附带实例)
Java里的集合工具类(Collections)是 JDK 为我们提供的用于操作 List、Set 和 Map 等集合的工具类,该类位于 java.util 包中,包含了很多用于操作集合的静态方法。
例如:
如果想获取 List 对象或 Set 对象中的最小元素,则可以使用 Collections 类的 min() 方法,例如:
例如:
例如:
Java Collections排序操作
Collections 提供了方便对 List 进行排序的方法,通过它可以很方便地对 List 进行正向排序、逆向排序或随机排序。例如:
public class CollectionsTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(20);
list.add(10);
list.add(50);
list.add(30);
list.add(5);
System.out.println("排序前:" + list);
Collections.sort(list);
System.out.println("正向排序后:" + list);
Collections.reverse(list);
System.out.println("逆向排序后:" + list);
Collections.shuffle(list);
System.out.println("随机排序:" + list);
Collections.sort(list, new MyComparator());
System.out.println("自定义比较器排序:" + list);
}
}
class MyComparator implements Comparator<Integer> {
public int compare(Integer s1, Integer s2) {
if (s1 > s2)
return 1;
else if (s1 < s2)
return -1;
else
return 0;
}
}
输出结果为:
排序前:[20, 10, 50, 30, 5]
正向排序后:[5, 10, 20, 30, 50]
正向排序后:[50, 30, 20, 10, 5]
随机排序:[5, 30, 50, 20, 10]
自定义比较器排序:[5, 10, 20, 30, 50]
Java Collections获取最大和最小元素
如果想获取 List 对象或 Set 对象中的最大元素,则可以使用 Collections 类的 max() 方法,例如:
public class CollectionsTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(20);
list.add(10);
list.add(50);
list.add(30);
list.add(5);
System.out.println("List中最大的元素:" + Collections.max(list));
Set<Integer> set = new HashSet<Integer>(list);
System.out.println("Set中最大的元素:" + Collections.max(set));
}
}
输出结果为:
List中最大的元素:50
Set中最大的元素:50
如果想获取 List 对象或 Set 对象中的最小元素,则可以使用 Collections 类的 min() 方法,例如:
public class CollectionsTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(20);
list.add(10);
list.add(50);
list.add(30);
list.add(5);
System.out.println("List中最小的元素:" + Collections.min(list));
Set<Integer> set = new HashSet<Integer>(list);
System.out.println("Set中最小的元素:" + Collections.min(set));
}
}
输出结果为:
List中最小的元素:5
Set中最小的元素:5
Java Collections对集合进行填充
如果想对某个 List 对象的所有元素都修改为统一的值,可以使用 Collections 类的 fill() 方法,例如:
public class CollectionsTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(20);
list.add(10);
list.add(50);
list.add(30);
list.add(5);
System.out.println("填充前:" + list);
Collections.fill(list, 100);
System.out.println("填充后:" + list);
}
}
输出结果为:
填充前:[20, 10, 50, 30, 5]
填充后:[100, 100, 100, 100, 100]
Java Collections计算某元素出现次数
如果想要计算某个 List 对象或 Set 对象中某个元素值出现的次数,可以使用 Collections 类的 frequency() 方法,例如:
public class CollectionsTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(20);
list.add(10);
list.add(20);
list.add(30);
list.add(20);
System.out.println("元素20出现的次数:" + Collections.frequency(list, 20));
}
}
输出结果为:
元素20出现的次数:3
Java Collections替换所有元素
如果想要替换某个 List 对象中的元素,则可以使用 Collections 类的 replaceAll() 方法,所有指定值的元素都将会被替换。例如:
public class CollectionsTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(20);
list.add(10);
list.add(20);
list.add(30);
list.add(20);
System.out.println("替换前:" + list);
Collections.replaceAll(list, 20, 100);
System.out.println("替换后:" + list);
}
}
输出结果为:
替换前:[20, 10, 20, 30, 20]
替换后:[100, 10, 100, 30, 100]
Java Collections复制List对象
如果想将某个 List 对象的所有元素复制到另一个 List 对象中,可以使用 Collections 类的 copy() 方法。要注意的是两个 List 对象的长度一般要保持一致。例如:
public class CollectionsTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(20);
list.add(10);
list.add(20);
list.add(30);
list.add(20);
List<Integer> list2 = new ArrayList<Integer>();
list2.add(0);
list2.add(0);
list2.add(0);
list2.add(0);
list2.add(0);
System.out.println("复制前list2:" + list2);
Collections.copy(list2, list);
System.out.println("复制后list2:" + list2);
}
}
输出结果为:
复制前list2:[0, 0, 0, 0, 0]
复制后list2:[20, 10, 20, 30, 20]
相关文章
- Java Collections和Arrays集合工具类的用法(附带实例)
- Java中的Collections集合工具类(附带实例)
- Java Collections类操作集合详解
- Java Collection集合类详解(附带实例)
- Java使用foreach循环遍历Collection集合
- 使用Java 8新增的Predicate操作Collection集合
- 使用Java 8新增的Stream操作Collection集合
- Java使用Lambda表达式遍历Collection集合
- Java Iterator(迭代器)遍历Collection集合元素
- Java Collections工具类的用法
ICP备案:
公安联网备案: