集合

集合

  • 首先说一下数组和集合的区别,数组的长度是固定的,集合的长度是可变的;数组用来存放基本类型的数据,集合用来存放对象的引用。常用的集合有list、set和map,其中List和set都实现了Collection接口,所有它们都能使用Collection的方法

List

  • List方法中,add()和set()方法有很大的区别set方法add方法

 

从上面两张图片可以看出,set方法是将原来位置的元素替换掉,而add方法是将元素插入指定的位置,另外一个元素的下标向右移一位

List实现类

  • List有ArrayList和LinkedList两个实现类,ArrayList是用数组实现的,查询速度快,插入和删除速度慢,而LinkedList使用链表实现的,插入删除速度快,查询速度慢

Set

  • list中的元素是按顺序插入的,而set中的元素没有顺序之分,并且set集合中不允许出现重复值

Map

  • Map接口提供了将键映射到值的对象。一个映射中不能包含重复的键,每个键最多只能映射到一个值,key和value的值可以为null,但在treemap中不允许

    Map实现类

    • Map的实现类有HashMap和TreeMap,由于HashMap是基于哈希表的Map接口实现的,所以HashMap实现的Map接口对于添加和删除效率更高,速度更快,所以一般用HashMap实现来实现Map接口,HashMap的key和value允许为null,但必须保持键的唯一性;

    • 如果希望Map对象存在一定的顺序,就用TreeMap集合类来实现,由于TreeMap是根据键对象按照一定的顺序排列的,所以键一定不能为null

posted @ 2022-03-22 20:22  jiangli001  阅读(42)  评论(0)    收藏  举报