c语言编程笔录

首页 >   > 笔记大全

笔记大全

Java数据结构之集合框架与常用算法有哪些

更新时间:2023-12-22

集合框架

Java提供了丰富的集合框架,用于存储和处理数据集合。集合框架包括接口和类,提供了实现常见数据结构(如列表、集合、队列、映射等)的类。下面介绍几个常用的集合类。

1. ArrayList:动态数组,可以根据需要自动扩展容量。

ArrayList<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
System.out.println(list); // [Java, Python, C++]

2. LinkedList:双向链表,插入、删除元素效率高,但随机访问元素效率较低。

LinkedList<String> list = new LinkedList<>();
list.add("Java");
list.add("Python");
list.add("C++");
System.out.println(list); // [Java, Python, C++]

3. HashSet:哈希集合,存储唯一元素,无序。

HashSet<String> set = new HashSet<>();
set.add("Java");
set.add("Python");
set.add("C++");
System.out.println(set); // [Java, Python, C++]

4. TreeMap:树映射,按照键的顺序进行排序存储。

TreeMap<String, Integer> map = new TreeMap<>();
map.put("Java", 1);
map.put("Python", 2);
map.put("C++", 3);
System.out.println(map); // {C++=3, Java=1, Python=2}

常用算法

除了集合框架,Java也提供了一些常用的算法来处理集合数据。下面介绍几个常用的算法。

1. 排序算法:Java提供了Arrays类来实现排序算法,如冒泡排序、插入排序、选择排序和快速排序等。

int[] array = {5, 2, 8, 1, 9};
Arrays.sort(array);
System.out.println(Arrays.toString(array)); // [1, 2, 5, 8, 9]

2. 查找算法:Java提供了Arrays类来实现查找算法,如二分查找。

int[] array = {1, 2, 5, 8, 9};
int index = Arrays.binarySearch(array, 5);
System.out.println(index); // 2

3. 集合操作:Java提供了Collections类来操作集合,如合并集合、查找最大/最小值、洗牌等。

List<String> list1 = Arrays.asList("Java", "Python");
List<String> list2 = Arrays.asList("C++", "Python");
List<String> mergedList = new ArrayList<>(list1);
mergedList.addAll(list2);
System.out.println(mergedList); // [Java, Python, C++, Python]

4. 字符串匹配算法:Java提供了String类和StringUtil类来实现字符串匹配、替换等操作。

String str = "Java is a programming language.";
boolean contains = str.contains("Java");
System.out.println(contains); // true

总结

Java集合框架提供了丰富的类和接口来存储和处理数据集合,包括动态数组、双向链表、哈希集合和树映射等。这些集合类能够满足不同场景下的需求,提高了开发效率和代码的复用性。此外,Java还提供了常用的算法来处理集合数据,如排序、查找和字符串匹配等。开发者可以根据具体需求选择合适的集合类和算法来解决问题。