JAVA集合概念
一、集合的概念
Java中的结合就像一个容器,专门用来存储Java对象(实际上是对象的引用,但习惯称为对象),这些对象可以是任意的数据类型,并且长度可变。
集合按照其存储结构可以分为两大类,即单列集合Collection和双列集合Map,这两种集合的特点具体如下:
Collection:单列集合的根接口,用于存储一系列符合某种规则的元素。Collection集合有两个重要的子接口,分别是List和Set。其中,List集合的特点是元素有序、可重复;Set集合的特点是元素无序并且不可重复。List接口的主要实现类有ArrayList和LinkedList;Set接口的主要实现类有HashSet和TreeSet。
Map:双列集合的根接口,用于存储具有键(Key)、值(Values)映射关系的元素。Map集合中每个元素都包含一对键值,并且Key是唯一的,在使用Map集合时可以通过制定的Key找到对应的Value。例如根据一个学生的学号就可以找到对应的学生。Map接口的主要实现类有HashMap和Three MAP
ArrayList集合概述
集合只能存储引用数据类型
ArrayList是数据类型特点:查询快,增删慢,线方法名 说明
public boolean remove(Object o) 删除指定的元素,成功则返回true
public E remove(int index) 删除指定索引位置的元素,返回被删除的元素
public E set(int index,E e) 修改指定索引位置的元素,返回修改前的元素
public E get(int index) 获取指定索引对应的元素
public int size() 获取结合中元素个数
LinkedList概述
LinkedList底层数据结构是链表特点查询慢,增删快,x=线程不安全,效率高
Map集合概念
Map集合和Collection集合没有任何关系。Collection集合是以单个方式存储元素的,而Map集合是以键值对的方式存储元素,所有Map集合的Key是无序不可重复的,key和value都是引用数据类型,存注意事项
K 键 V值 : 键是唯一的,值可以重复
jdk8 HashMap底层是:数组+链表+红黑树
HashMap负载因子:0.75; 元素个数超过数组长度的0.75倍,数组就会扩容。2倍
链表的长度超过8,链表就会转换成红黑树。如果红黑树的长度小于6,红黑树就会转换成链表
HashMap初始长度16
public static void main(String[] args) {
HashMap<String,String> staff = new HashMap<>();
staff.put("142702415510005","二球");
staff.put("1411821232120","二够");
staff.put("14270005112312","熊大");
staff.put("142212232312321","牛6");
staff.put("1521516232131340","熊蛋");
staff.put("14273123213010","狗六");
System.out.println(staff);
}
}