import java.util.ArrayList;
import java.util.List;
/**
* java.util.List
* 可重復集,並且有序。
* 特點是可以根據下標操作元素。
* 常用實現類:
* ArrayList:使用數組實現,查詢更快
* LinkedList:使用鏈表實現,增刪更快(首尾增刪效果明顯)
*
*
*/
public class ListDemo1 {
public static void main(String[] args) {
/*
* E set(int index,E e)
* 將給定元素設置到指定位置上,返回值為
* 原位置的元素。所以是替換操作。
*/
List<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three");
list.add("four");
//[one, two, three, four]
System.out.println(list);
//[one, 2, three, four]
String old = list.set(1, "2");
System.out.println(list);
System.out.println("old:"+old);
//[one, 2, three, four,five]
// list.set(4, "five");這樣做會下標越界
/*
* E get(int index)
* 獲取給定下標對應的元素
*/
//獲取第三個元素
String str = list.get(2);
System.out.println(str);
for(int i=0;i<list.size();i++) {
//傳統循環遍歷List集合
str = list.get(i);
System.out.println(str);
}
}
}
import java.util.ArrayList;
import java.util.List;
/**
* List集合提供了一對重載的add,remove方法
* void add(int index,E e)
* 將給定元素插入指定位置。
*
* E remove(int index)
* 從集合中刪除指定位置的元素,並將其返回。
* @author LZQ
*
*/
public class ListDemo2 {
public static void main(String[] args) {
List<String> list
= new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three");
list.add("four");
//[one, two, three, four]
System.out.println(list);
//[one, 2, two, three, four]
list.add(1,"2");
System.out.println(list);
//[one, 2, three, four]
String old = list.remove(2);
System.out.println(list);
System.out.println("old:"+old);
}
}
import java.util.ArrayList;
import java.util.List;
/**
* 取子集
* List subList(int start,int end)
* 獲取當前集合中指定范圍內的子集。同樣含頭不含尾
* @author LZQ
*
*/
public class ListDemo3 {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
for(int i=0;i<10;i++) {
list.add(i);
}
//[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
System.out.println(list);
//獲取3-7
List<Integer> subList = list.subList(3, 8);
System.out.println(subList);
//將子集中每個元素擴大十倍?
for(int i=0;i<subList.size();i++) {
subList.set(i, subList.get(i) * 10);
}
//[30,40,50,60,70]
System.out.println(subList);
/*
* 對子集的修改,就是修改了原集合中的相應內容
* [0, 1, 2, 30, 40, 50, 60, 70, 8, 9]
*/
System.out.println(list);
/*
* 刪除集合中2-8的元素
*/
list.subList(2, 9).clear();
System.out.println(list);
}
}