1硬猫、你知道的List都有哪些补箍?
ArrayList、LinkedList浦徊、Vector等馏予。
2、List和Vector有什么區(qū)別盔性?
Vector是List接口下線程安全的集合霞丧。
3、List是有序的嗎冕香?
List是有序的蛹尝。
4、ArrayList和LinkedList的區(qū)別悉尾?分別用在什么場景突那?
ArrayList和LinkedList數(shù)據(jù)結(jié)構(gòu)不一樣,前者用在查詢較多的場合构眯,后者適用于插入較多的場合愕难。
5、ArrayList和LinkedList的底層數(shù)據(jù)結(jié)構(gòu)是什么惫霸?
ArrayList使用的是數(shù)組結(jié)構(gòu)猫缭,LinkedList使用的是鏈表結(jié)構(gòu)。
6壹店、ArrayList默認(rèn)大小是多少猜丹,是如何擴(kuò)容的?
Jdk1.7之前ArrayList默認(rèn)大小是10硅卢,JDK1.7之后是0射窒,JDK差異藏杖,每次約按1.5倍擴(kuò)容。
7脉顿、List是線程安全的嗎蝌麸?如果要線程安全要怎么做?
List中的Vector才是線程安全的弊予,其他要實(shí)現(xiàn)線程安全使用工具類Collections.synchronizedList(new ArrayList())方法祥楣。
8、怎么給List排序汉柒?
使用List自身的sort方法误褪,或者使用Collections.sort(list)方法;
9、Arrays.asList方法后的List可以擴(kuò)容嗎碾褂?
Arrays.asList使用的是final數(shù)組兽间,并且不支持add方法,不支持?jǐn)U容正塌。
10嘀略、List和Array之間如何互相轉(zhuǎn)換?
List>Array使用toArray方法乓诽,Array>List使用Arrays.asList(array)方法帜羊,由于它是固定的,不固定的可以使用new ArrayList(Arrays.asList(array))鸠天。