集合的顶级理解(刨析JAVA中的数据结构)

261 阅读2分钟

集合

不如先看看这两个开胃小菜吧,这是我整理的两份新鲜的食材: Collection详谈:Collection详谈 Map详谈:Map详谈 在这里插入图片描述

集合和数组

集合和数组的区别

  • 数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值。
  • 集合只能存储引用数据类型(对象)。集合也能存储基本数据类型(有点矛盾,看后句),但是在存储的时候会自动装箱变成对象。
  • 数组长度是固定的,不能自动增长。
  • 集合的长度是可变的,可以根据元素的增长而增长。
  • 数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。

集合和数组选用

  • 如果元素个数是固定的推荐用数组,效率高。
  • 如果元素个数不是固定的推荐用集合.

集合的分类

三个高频使用接口

Collection接口 Map接口 Iterator接口

所有种类

Collection接口:  									   单列集合的顶层接口	
	List接口:    									   有序的子接口  是元素有序、元素可重复。
			 Vetor集合(数组结构:单线程,都慢)
			 ArrayList集合(数组结构:查询快,增删慢),
			 LinkLIst集合(链表结构:查询慢,增删快)
			 Set集合: 	   无序的子接口  特点是元素无序,而且不可重复
				TreeSet集合,
				HashSet集合(哈希表结构:查询快)
				LinkedHashSet
	Map     											双列集合的顶层接口
		HashMap 										哈希表存储
		LikedHashMap

在这里插入图片描述

collecions类

常用方法:

public static <T> boolean addAll(Collection<T> c, T... elements) :往集合中添加一
些元素。
public static void shuffle(List<?> list) 打乱顺序 :打乱集合顺序。
public static <T> void sort(List<T> list) :将集合中元素按照默认规则排序。
public static <T> void sort(List<T> list,Comparator<? super T> ) :将集合中元素按
照指定规则排序。

实现:

public static void main(String[] args) {
        ArrayList<Integer> arrayList =new ArrayList<>();
        /**
         * 原来写法
         */
        arrayList.add(12);
        arrayList.add(13);
        arrayList.add(14);
        Collections.addAll(arrayList,1,2,3,4);
        System.out.println(arrayList);
        //排序
        Collections.sort(arrayList);
        System.out.println(arrayList);
    }

在这里插入图片描述 废话时间:

如果客官觉得食用合适可不可以给一个免费的赞!谢谢谢了!慢走客官!建议打包收藏,下次再来。店小二QQ:309021573,欢迎骚扰!