list集合類中元素有序且可重複
jdk7
構造器
arraylist list = new arraylist();
新增資料
list.add(123)
結論:建議使用帶參的構造器(避免在中間時擴容)
arraylist list = new arraylist(int capacity)jdk8
構造器
arraylist list = new arraylist();
新增資料
list.add(123)
結論
linkedlist list = new linkedlist();內部宣告了node型別的first和last屬性,預設值為null
list.add(123);將123封裝到node中,建立了node物件
其中node定義為(原始碼),體現了linkedlist雙向鍊錶的特徵:
private static class node
}
三個類都實現了list介面,儲存資料的特點相同(有序、可重複的資料)
collection中的方法都可用
add(int index , object eles)
在index位置開始,將eles中的所有元素新增進來
arraylist list = new arraylist();
list.add(123);
list.add("ann");
list.add(new students("tom",18,90));
list.add(987);
list.add(3,"aa");
system.out.println(list);//[123, ann, students, aa, 987]
addall(int index , collection eles)
從index位置開始將eles中的所有元素新增進來
arraylist list = new arraylist();
list.add(123);
list.add("ann");
list.add(new students("tom",18,90));
list.add(987);
arraylist arraylist = new arraylist();
arraylist.add(123);
arraylist.add("lisa");
list.addall(arraylist);
system.out.println(list);//[123, ann, students, 987, 123, lisa]
注意使用的是add()還是addall():
get(int index)
獲取指定index位置的元素
system.out.println(list.get(1));//ann
indexof(object obj)
返回obj在當前集合中首次出現的位置
system.out.println(list.indexof(123));//0
lastindexof(object obj)
返回obj在當前集合中最後一次出現的位置
system.out.println(list.lastindexof(123));//4
remove(int index)
移除指定index位置元素,並返回此元素
system.out.println(list.remove(1));//ann
system.out.println(list);//[123, students, 987, 123, lisa]
注意和collection介面中的remove方法區分
set(int index , object ele)
設定指定index位置的元素為ele
system.out.println(list);//[123, students, 987, 123, lisa]
list.set(2,789);
system.out.println(list);//[123, students, 789, 123, lisa]
sublist(int fromindex , int toindex)
返回從fromindex到toindex位置的子集合(左閉右開)
system.out.println(list);//[123, students, 789, 123, lisa]
system.out.println(list.sublist(1, 3));//[students, 789]
動態陣列vector和List
陣列是我們用的非常多的一種資料結構.儲存一組物件時首先想到的就是用它.它的優點乙個是因為在記憶體中連續分配,所以通過下標索引訪問非常快.二個是使用簡單,取值賦值修改都很方便.c 中我們一般像這樣定義乙個陣列int numarr 或者int numarr 3 而c 中是這樣int numarr 靜態陣...
List轉換陣列 陣列轉換List
陣列轉list package listtoarray import j a.util.arraylist import j a.util.arrays import j a.util.collections import j a.util.list import j a.util.stream.c...
List介面分析
list介面是繼承自collection介面的,有關collection介面 list是一種有序的collection,可以通過索引訪問集合中的資料,看看list中 有哪些方法 1.int size 從collection中繼承 2 boolean isempty 從collection中繼承 3....