- Collection
* java.util.List:有序且重复 接口
* 从以下版本开始: 1.2
* 父接口: Collection
* 实现类:ArrayList, LinkedList,Vector
*
* 常用方法
* 添加
* 删除
* 修改
* 查询
* 遍历
* 判断
* 长度
*
* 注意:size+get是List集合的专有遍历方案
* iterator是Collection的专有遍历方案
* Set:无序且唯一
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class Demo {
public static void main(String[] args) {
//1创建List集合
List list = new ArrayList<>();
//2 添加元素
list.add(1000);
list.add(20);
list.add(30);
list.add(30);
//3:在指定位置添加指定元素
list.add(1, 200);
list.add(0, 2000);
//4:删除元素
list.remove(new Integer(1000)); //根据元素删除元素
list.remove(0); //根据下标删除元素
//5:修改元素
list.set(0, 500);
//6:查询元素 根据下标返回元素
System.out.println(list.get(0));
//7:判断元素是否在集合中存在,存在返回第一次出现的索引,不存在,返回-1
System.out.println(list.indexOf(300));
//8:遍历集合
//8.1 转数组
Object[] array = list.toArray();
for(int i = array.length-1;i>=0;i--){
System.out.println(array[i]);
}
/*for (Object obj : array) {
System.out.println(obj);
}*/
System.out.println("------------------");
//8.2 迭代器
Iterator it = list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println("------------------");
//8.3 listIterator 正反迭代 先正向遍历才能反向遍历
ListIterator it2 = list.listIterator();
while(it2.hasNext()){
System.out.println(it2.next());
}
System.out.println("------------------");
while(it2.hasPrevious()){
System.out.println(it2.previous());
}
System.out.println("------------------");
//8.4 get+size
for(int i = 0;i<list.size();i++){
System.out.println(list.get(i));
}
System.out.println(list);
}
}
import java.util.ArrayList;
import java.util.List;
public class Demo2 {
/*
* 利用List集合去除重复元素
*
*/
public static void main(String[] args) {
//1:创建集合
List list = new ArrayList<>();
//2:添加元素
list.add("a");
list.add("b");
list.add("b");
list.add("b");
list.add("c");
list.add("c");
list.add("d");
//3 删除重复元素
//3.1 新建一个空的集合
List list2 = new ArrayList<>();
//3.2 遍历旧的集合
for(int i = 0;i<list.size();i++){
//使用新的集合调用包含方法
if(!(list2.contains(list.get(i)))){
//只要新的元素
list2.add(list.get(i));
}
}
System.out.println(list2);
/* for(int i = 0;i<list.size();i++){
for(int j = i+1;j<list.size();j++){
if(list.get(i).equals(list.get(j))){
list.remove(j);
j--;
}
}
}*/
}
}