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);
}
}