Java 之Colletion
1.Detail refer this Blog , it's awsome for reference
https://www.cnblogs.com/taiwan/p/6954135.html
2.All the Java Basic also can refer to this blog
https://www.runoob.com/java/java-collections.html
一集合框架概述集合解决数组数据存储的弊端,数组和集合都是对多个数据进行存储操作的结构,简称容器
此时的存储 只要是内存层面的存储,不涉及到永久化的存储(.txt,.jpg)
/-------Collection接口:单列集合,用来存储 一个一个的对象
/-----List接口,有序可重复-->"动态"数组
/---ArrayList .Linklist ,Vector
/------Set接口存储 无序的不可重复的集合 -->高中讲的集合,无序性 确定性互异性
无序性不等于随机性。以hashSet 为例说明,存储的顺序并非按照数组的缩影添加而是根据Hash值 添加
/----HashSet
/---LinkedHashset
/-----TreeSet
/-----Map接口:双列集合,用来存储一对(key -value )- 对的数据 -->高中函数y= f(x)
/----HashMap,Linked HashMap,TreeMap
Collection 接口继承树
Map接口继承树:
三,Collection 常用的方法
遍历集合 可用Foreach 和迭代器两种方式
// while (iterator1.hasNext()){
// System.out.println(coll);
// }死循环
/ while(coll.iterator().hasNext()){
// System.out.println(coll.iterator().next());
// }//死循环
while (iterator1.hasNext()){
System.out.println(iterator1.next());
}
while (iterator1.next() !=null){
System.out.println(iterator1.next());//Exception in thread "main" java.util.NoSuchElementException
}
remove()
while (iterator1.hasNext()){
Object obj = iterator1.next();
if ("abe".equals(obj)){
iterator1.remove();
}
}
Iterator iterator = coll.iterator();
System.out.println("abe被删除了");
while(iterator.hasNext()){
System.out.println(iterator.next());
}
Remove 元素还是对象
Set 集合:
没有额外的方法基本都是Collection的方法。
Collectionj
1.What method do you need to call to get an Iterator over a Collection?
- collection.iterator()
What happens when you try to add twice the same element to a Set?-
The
add()
method returns false and the element is not added.
-
Map
TreeSet/TreeMap 红黑树
1.集合Collection中存储的如果是自定义的对象需要自定义重写那个方法为什么?
equal()方法
List:equal()方法
Set:(HashSet.Linked HashSet 为例):equal (),hashCode()
TreeSet 为例:Comparable :compareTo(Object obj);
Comparator :compare(Object o1,Object o2);
2.Arraylist ,LinkList ,Vector 三者的相同与不同点
add(Object obj);
remove(Object obj)/remove(int index)
set(int index,object obj)
add(int index ,Object obj)
size();
使用迭代器,forEach,普通遍历for
3.List接口的常用方法有哪些?
4.如何使用Iterator 和增强循环遍历List
5.Set 存储数据的特点是什么?常见的实现类有什么
Hash Set ->HaskMap
LinkedHashSet =>LinkedHashMap
TreeSet ->Tree Map
1.Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是
A.ArrayList和LinkedList均实现了List接口
B.ArrayList的访问速度比LinkedList快
C.添加和删除元素时,ArrayList的表现更佳
D.HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
Ans:C
解析:ArrayList底层是数组,所以查询快,增删慢;而LinkedList底层是链表,查询慢,增删快。
基本的数据结构知识= =选D的原因是以为受数据库的影响以为key不能为null