s-day04-TreeMap保存自定义对象&集合的框架体系

This commit is contained in:
2026-08-03 11:47:15 +08:00
parent 143e8e0f59
commit 1595d2a08e
@@ -0,0 +1,38 @@
package com.inmind.treemap03;
import com.inmind.treeset02.Student;
import java.util.TreeMap;
/*
TreeMap的基本使用
带有自然排序功能的双列集合(以Key值的自然排序功能进行排序)
总结:treeSet和treeMap都是具有排序功能的集合,所以要存入有排序功能的自定义对象才能使用排序功能,如果
没有排序功能,会报错:java.lang.ClassCastException: com.inmind.treeset02.Student cannot be cast to java.lang.Comparable
Collection:单列集合父接口
List:
ArrayList:底层是object[],查询快,增删慢
LinkedList:底层是双向链接,查询慢,增删快
Set:
HashSet:底层哈希表,在实现去重的基础上,能够高效查询,HashCode,equals重写
LinkedHashSet:底层哈希表+链表,实现Set集合的有序
TreeSet:拥有自然排序功能且会直接排序,元素必要有排序(ComparableComparator
Map
HashMap:存取无序的,不可重复的双列集合
LinkedhashMap:存取有序,不可重复的双列集合
TreeMap:拥有自然排序功能且会直接排序,元素必要有排序(ComparableComparator
*/
public class TreeMapDemo10 {
public static void main(String[] args) {
//创建一个学生类为key,住址为String的有排序功能的双列集合
TreeMap<Student,String> treeMap = new TreeMap<>();
treeMap.put(new Student("小王1", 18), "南京");
treeMap.put(new Student("小王2", 17), "南京");
treeMap.put(new Student("小王3", 20), "南京");
System.out.println(treeMap);
}
}