list接口存储一组不唯一,有序的对象
set接口存储一组唯一,无序的对象
collection接口存储一组不唯一,无序的对象
集合:
Student student1 = new Student("李雷",17); Student student2= new Student("aa",18); Student student3 = new Student("dd",19);
Arraylist :
实现了长度可变的数组,在内存中分配连续的空间
有序
ArrayList<Object> arrayList = new ArrayList();//创建一个对象 arrayList.add(student1);//增加 把**添加到最后的位置 arraylist.add(下标,student1);//把**添加到下标为*的位置 arrayList.remove(1);//删除 下标 arrayList.get(2);//获取 下标 arrayList.contains(student1);//包含参数 System.out.println(arrayList.size());//长度
Linkedlist:
链表式 用于插入,删除频繁时
有序
LinkedList<Object> linkedList=new LinkedList<>();
linkedList.add();
linkedList.addLast(student2);//添加到最后位置
linkedList.addFirst(student3);//添加到第一个位置
linkedList.get();
linkedList.getFirst();//获取第一个位置的信息
linkedList.getLast();//获取最后一个位置的信息
linkedList.remover();
linkedList.removeLast();//删除最后一个位置的信息
linkedList.removeFirst();//删除第一个位置的信息
linkedList.size();
System.out.println(linkedList);
set:唯一,无序
HashSet集合
特征:
-
不允许存储重复的元素
-
没有索引,没有包含索引的方法,不能使用索引遍历
-
无序集合
Set fruits=new HashSet(); fruits.add(student1); fruits.add(student2); fruits.add(student3); for (Object fruit : fruits) { System.out.println(fruit); }
Map:
Map接口存储一组成对的键-值对象,提供从key到value的映射,key无序,唯一 ,value无序,不唯一
一个值配一个唯一的钥匙
Map map= new HashMap(); map.put("a",student2); map.put("d",student3); System.out.println(map.get("a")); System.out.println(map.get("d")); System.out.println(map.size());
1.通过遍历键的集合获取值
Map map= new HashMap(); Set keySet=map.keySet(); for (Object o : keySet) { System.out.println(o); }
2.通过遍历值的集合获取
Map map= new HashMap();
Collection values= map.values();
for (Object value : values) {
System.out.println(value);
}
3.迭代器 iterator
Map map= new HashMap();
Set set =map.keySet();
Iterator iterator=set.iterator();
while (iterator.hasNext()){
Object next = iterator.next();
if (next.equals("a")) {
iterator.remove();
}
}
System.out.println(map);