欢迎访问宙启技术站
智能推送

Java内置的集合操作函数

发布时间:2023-06-20 00:56:32

Java是一种面向对象的编程语言,支持多种数据结构和算法,而内置的集合操作函数就是其中一个重要的特性。Java 提供的集合操作函数,可以帮助我们快速地进行集合操作,比如排序、查找、复制等等。本文主要介绍 Java 内置的集合操作函数。

1. 集合复制

Java的集合操作函数中,可以通过clone()函数来进行集合的复制。例如:

ArrayList<String> list1 = new ArrayList<String>();
list1.add("Java");
list1.add("C++");
list1.add("Python");
ArrayList<String> list2 = (ArrayList<String>) list1.clone();

此时,list2会得到与 list1 一样的元素,即Java、C++和Python。

2. 集合转换

在Java的集合操作函数中,可以通过toArray()方法将集合转换成数组。例如:

ArrayList<String> list = new ArrayList<String>();
list.add("Java");
list.add("C++");
list.add("Python");
String[] array = list.toArray(new String[list.size()]);

此时,array 数组将具有与 list 相同的元素,即Java、C++和Python。

3. 集合排序

Java集合操作函数中的sort()方法可以对集合进行排序,它有两种形式:一种是针对List的排序,一种是针对数组的排序。例如:

// 针对List的排序
ArrayList<String> list = new ArrayList<String>();
list.add("Java");
list.add("C++");
list.add("Python");
Collections.sort(list);

// 针对数组的排序
String[] array = {"Java", "C++", "Python"};
Arrays.sort(array);

4. 集合查找

Java集合操作函数中还提供了indexOf()和lastIndexOf()方法进行查找,以及contains()方法判断集合是否包含某个元素。例如:

ArrayList<String> list = new ArrayList<String>();
list.add("Java");
list.add("C++");
list.add("Python");
int index = list.indexOf("C++"); //获取C++的位置,即1
boolean result = list.contains("Go"); //返回false,集合不包含Go元素

5. 集合过滤

Java集合操作函数中的filter()方法可以通过自定义的函数对集合进行过滤,常用的函数有Predicate和Function。例如:

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
List<Integer> filteredList = list.stream().filter(num -> num % 2 == 0).collect(Collectors.toList());

此时,filteredList 将仅包含偶数元素:2和4。

6. 集合分组

Java集合操作函数中的groupingBy()方法可以将集合按照指定的属性进行分组,例如:

List<Student> students = new ArrayList<Student>();
students.add(new Student("Tom", 18, "male"));
students.add(new Student("Lucy", 20, "female"));
students.add(new Student("Jerry", 18, "male"));
students.add(new Student("Marry", 19, "female"));
Map<Integer, List<Student>> map =
    students.stream().collect(Collectors.groupingBy(Student::getAge));

此时,按照年龄可以将学生分为18岁、19岁和20岁三组。

总结

Java内置的集合操作函数非常实用,能够方便地操作各种数据结构。上面介绍的函数只是其中的一部分,Java还有很多集合操作函数,我们需要不断地学习和掌握,以便更好地应对各种问题。