package seday12;
import java.util.ArrayList;
import java.util.List;
/**
* @author xingsir
* List重载了一对add,remove方法
*/
public class ListDemo2 {
public static void main(String[] args) {
List<String> list=new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
System.out.println(list); //打印结果为[A, B, C, D, E]
/*
* void add(int index,E e)将给定元素插入到指定位置
*/
list.add(1, "4");
System.out.println(list);//打印结果为[A, 4, B, C, D, E]
/*
* E remove(int index) 删除并返回指定位置对应的元素
*/
String old = list.remove(2);//删除第二个位子,也就是B
System.out.println(list);//打印结果为[A, 4, C, D, E]
System.out.println(old);//被删除的元素打印出来,打印结果为B
}
}
//========================================================================================
package seday12;
import java.util.ArrayList;
import java.util.List;
/**
* @author xingsir
* 获取子集
*/
public class ListDemo3 {
public static void main(String[] args) {
List<Integer>list=new ArrayList<>();
for(int i=0;i<10;i++) {//0-10的循环遍历
list.add(i);
}
System.out.println(list);//打印结果为 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
/*
* List subList(int start,int end)获取指定范围内的子集(含头不含尾)
*/
List<Integer> sub = list.subList(2, 8) ;//获取2-7位
System.out.println(sub);//打印结果为[2, 3, 4, 5, 6, 7]
//将子集每个元素扩大100倍
for(int i=0;i<sub.size();i++) {
int num=sub.get(i);
num*=100;
sub.set(i, num);
}
System.out.println(sub);//打印结果为[200, 300, 400, 500, 600, 700]
/*
* 操作子集就是操作原集合对应的元素
*/
System.out.println(list);//打印结果为[0, 1, 200, 300, 400, 500, 600, 700, 8, 9]
/*
* 删除list集合中2-8
*/
list.subList(2,8).clear();
System.out.println(list);//打印结果为[0, 1, 8, 9]
}
}