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

posted @ 2020-07-01 13:11  tzmok  阅读(179)  评论(0编辑  收藏  举报