1.List集合
集合的特点:
(1)有序,存储和取出的元素顺序一致。
(2)有索引,可以通过索引来操作元素。
(3)可重复,存储的元素可以重复。
特有的方法:
(1)add(int index, E element) //在此集合的指定索引位置添加指定元素。
(2)E remove(int index) //删除指定索引处的元素,并且返回此元素。
(3)E set(int index, E element)//修改指定索引处的元素,并且返回那个被修改的元素。
(4)E get(int index)//返回指定索引处的元素。
ArrayList和LinkedList的区别:
ArrayList:底层结构是数组,查询快,增删改慢。
LinkedList:底层结构是链表,查询慢,增删快。
2.Set集合
集合的特点:
(1)可以去除重复元素。
(2)存取顺序不一致。
(3)没有索引,所以不能用普通for遍历集合,用迭代器或者增强for来遍历,也不能通过索引来获取和删除Set集合里面的元素。
TreeSet集合特点:
(1)不包含重复元素
(2)没有带索引的方法
(3)可以将元素按照规则进行排序(自然排序和比较器排序)
自然排序:(使用TreeSet的无参构造)
JAVA bin类实现Comparable接口,重写compareTo方法
(1)按照年龄进行排序
(2)按照姓名进行排序
比较器排序:(使用TreeSet的带参构造)
TreeSet<Teacher> ts = new TreeSet(这个小括号里面放的是Comparator接口的实现类对象);
(1)根据年龄和姓名进行排序
HashSet集合特点:
(1)底层数据结构是哈希表
(2)不包含重复元素
(3)没有带索引的方法
(4)不能保证存取顺序一致。
3.Map集合
Map集合的概述:
(1)Map集合是一个接口,Interface Map<k,v> k是键的数据类型,v是值的数据类型
(2)键值对是一一对应的,键不能重复,值可以重复
(3)(键+值)称之为键值对,在java中我们也叫做‘Entry对象’。
(4)Map是一个接口,不能创建对象,只能用他的实现类HashMap创建对象
Map集合的方法:
(1)hashMap.put(K key,V value);//添加方法:如果要添加的键是存在的,新添加的就会覆盖原先的,把原先的那个值当做返回值返回。
(2)V remove(key);//删除方法,根据键删除对应的键和值,然后返回对应的值
(3)map.clear();//清空所有的键值对
(4)
Map集合的遍历:
(1)先获取到键,然后遍历键获取对应的值
(2)先获取到键值对对象,然后遍历键值对对象分别获取到键和值
HashMap概述:
(1)HashMap底层是哈希表结构的。
(2)依赖HashCode方法和equals方法保证键的唯一。
(3)如果键要存储的是自定义的对象,那么要重写HashCode和equals方法。
4.可变参数:
定义:形式参数的个数量是可以变化的
格式:方法名(数据类型...变量名){}
注意点:
(1)这里的变量其实就是一个数组。
(2)如果有一个方法有多个参数,其中包含可变参数,可变参数要放在最后。