—
title: JavaSE_5.集合Collection:List、Set;Map
date: 2020-11-09 20:01:08
tags: JavaSE
—
Collection接口:
list接口(ArrayList、LinkedList)、set接口(HashSet、TreeSet、LInkedSet)
Map接口:
HahMap(实现类)、TreeMap(实现类)
boolean add(E e); //把参数假如对象集合,返回值代表是否增加成功boolean addAll(Collection<? extends E> c); //指定集合中的所有元素添加到此集合void clear(); //清除集合中所有元素boolean remove(Object o) //移除指定元素boolean removeAll(Collection<?> c); //只删除c中有的元素,c是通缉令,删除c里面的坏人。boolean retainAll(Collection<?> c); //只保留c中有的元素,c是良民证,留下c里面的好人。boolean contains(Object o); //如果此集合包含指定的元素,则返回 true 。boolean containsAll(Collection<?> c); //如果此集合包含了c,包含关系&&是个大集合,则返回true。boolean isEmpty(); //集合里面没有元素 , 返回trueboolean equals(Object o); //比对的方法int size(); //返回此集合中的元素数量。Object\[\] toArray(); //返回一个包含此集合中所有元素的数组。
//对List进行增删操作boolean add(E e); //将指定的元素追加到此列表的末尾(可选操作)。void add(int index, E element); //将指定的元素插入此列表中的指定位置(可选操作)。boolean addAll(Collection<? extends E> c); //按指定集合的迭代器(可选操作)返回的顺序将指定集合中的所有元素附加到此列表的末尾。void clear(); //从此列表中删除所有元素(可选操作)。boolean remove(Object o); //从列表中删除指定元素的第一个出现(如果存在)(可选操作)。boolean removeAll(Collection<?> c); //从此列表中删除包含在指定集合中的所有元素(可选操作)。//判断有什么:boolean contains(Object o); //如果此列表包含指定的元素,则返回 true 。boolean containsAll(Collection<?> c); //如果此列表包含指定 集合的所有元素,则返回true。//获取元素E get(int index); //返回此列表中指定位置的元素。int indexOf(Object o); //返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。boolean isEmpty(); //如果此列表不包含元素,则返回 true 。\[极少用到\]//保留元素、设置元素boolean retainAll(Collection<?> c); //仅保留此列表中包含在指定集合中的元素(可选操作)。E set(int index, E element); //用指定的元素(可选操作)替换此列表中指定位置的元素。int size(); //返回此列表中的元素数。
可以对Object类里面的equals进行重写 boolean equals(Object o); // 将指定的对象与此列表进行比较以获得相等性。
int size(); //返回元素个数add(Object obj); //添加元素remove(Object obj); //删除元素boolean contains(Object obj); //判断是否包含元素iterator(); //把set装到迭代器里面
Iterator it = list.iterator();while(it.hasNext()){ System.out.println(it.next());}
使用迭代器的速度比较快,get方法太慢,不推荐,在不需要更改集合的的时候,可以使用foreach
已知如下:
下表为某班级四次考试成绩单,
要求是实现的功能
(1)查询某次考试的总成绩?(具体考试次数由后台用户输入Scanner决定)。
(2)查询某个学生的总成绩?(具体学生由后台用户输入Scanner决定)。
(3)查询某个学生的平均成绩?(具体学生由后台用户输入Scanner决定)。
(4)查询全班平均分最高的一次考试成绩是哪次,并输出平均成绩的具体值。
(5)查询某个学生的某次考试成绩(学生姓名和考试次数均由后台用户输入)。
public interface scoreImp { // 第一个列表保存HashMap对应所有人的第一次成绩 // 第二个列表保存HashMap对应所有人的第二次成绩// // 以此类推 public static LinkedList<HashMap<String, Integer>> list = new LinkedList<>(); HashMap<String, Integer> m = new HashMap<String, Integer>(); void 查询某次考试总成绩(int n); void 查询某个学生的总成绩(String str); void 查询某个学生的平均成绩(String str); void 查询全班平均分最高的一次考试与平均成绩(); void 查询某个学生的某次考试的成绩(String str , int n);}