2020年11月3日面試總結

weixin_50330651發表於2020-11-04

Java基礎

1.從資料庫中查詢出來的資料除了用物件接收以外,還可以用什麼接收?

1)用hashMap<String,String>儲存,然後將map存入list中
2)用物件封裝

2.設計模式–單例設計模式

1.懶漢式
2.餓漢式

3.集合

1.Collection是介面

Collection介面

-- List介面  : 資料有序,可以重複。

   -- ArrayList子類

   -- LinkedList子類

-- Set介面  : 資料無序,不可以存重複值

   -- HashSet子類

-- Map介面  : 鍵值對存資料

-- HashMap

2.Collections是工具類
3.List集合是有序的集合
特點:
1)資料有序
2)允許存放重複資料
3)元素都有索引
List集合的幾種迭代/遍歷,如下:

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class collection {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add(111);
        list.add(222);
        list.add(333);
        list.add('a');
        list.add("bbb");
        System.out.println(list);//[111, 222, 333, a, bbb]
        
//第一種遍歷:用Collection介面提供的iterator()
        Iterator it = list.iterator();
        while (it.hasNext()){
            Object o = it.next();
            System.out.print(o+" ");
        }//111 222 333 a bbb
//第二種遍歷:用List介面提供的listIterator()
        ListIterator it2 = list.listIterator();
        while (it2.hasNext()){
            System.out.print(it2.next()+" ");
        }//111 222 333 a bbb
//第三,增強for迴圈
        for (Object object : list) {
            System.out.print(object+" ");
        }//111 222 333 a bbb 
//第四,下標遍歷
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i)+" ");
        }//111 222 333 a bbb 
    }
}

3.1 ArrayList
1}底層使用陣列存放資料,每個物件都有下標。
2)查詢快,但是資料的增刪的效率會降低
3)new ArrayList():初始容量是10,如果不夠會以1.5倍容量增長。
3.2 LinkedList
1)雙向連結串列,兩端效率高。底層就是連結串列實現的。