当前位置:首页 » 服务存储 » 练习map存储值
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

练习map存储值

发布时间: 2023-03-06 10:28:02

1. list,map,set三个接口存储元素时各有什么特点

(一)List

1、可以允许重复的对象。

2、可以插入多个null元素。

3、是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序。

4、常用的实现类有ArrayList、LinkedList 和 Vector。ArrayList 最为流行,它提供了使用索引的随意访问,而 LinkedList 则对于经常需要从 List 中添加或删除元素的场合更为合适。

(二)Set

1、不允许重复对象。

2、无序容器,你无法保证每个元素的存储顺序,TreeSet通过 Comparator 或者 Comparable。

3、只允许一个 null 元素。

4、Set 接口最流行的几个实现类是 HashSet、LinkedHashSet 以及 TreeSet。最流行的是基于 HashMap 实现的 HashSet。

(三)map

1、Map不是collection的子接口或者实现类。Map是一个接口。

2、Map 的 每个 Entry 都持有两个对象,也就是一个键一个值,Map 可能会持有相同的值对象但键对象必须是唯一的。

3.、TreeMap 也通过 Comparator 或者 Comparable 维护了一个排序顺序。

4.、Map 里你可以拥有随意个 null 值但最多只能有一个 null 键。

5、Map 接口最流行的几个实现类是 HashMap、LinkedHashMap、Hashtable 和 TreeMap。(HashMap、TreeMap最常用)。

(1)练习map存储值扩展阅读

list和set、map之间的转化方式:

1、list转成set集合

Set<Student>

studentSet=studentList.stream().map(Student::getId).collect(Collectors.toSet());

2、list转成map

Map<String,Student>

studentMap=studentList.stream().collect(Collectors.toMap(Student::getId,a -> a,(k1,k2)->k1));

3、list转成map并且根据student中的name进行分组

Map<String,List<Student>>

group=studentList.stream().collect(Collectors.groupingBy(Student::getName));

2. java中map可以存放哪些信息

java map是以键值对的方式保存数据的,map中的键key和值value可以是各种对象,如String、Double、Integer、或者自己定义的类对象,不能是普通基本类型如int、double等