------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
|---collection
method:boolean add, addAll,void clear(),int size(), boolean contains(obj),
boolean containsAll(Collection c),boolean removeAll(Collection c),boolean retainAll();
Iterator,取出集合中存储的对象
集合中的对象如何取出,只有集合自己最清楚,每一集合类,都具备一个方法iterator
这个方法,将返回一个迭代器对象,用迭代器对象,取出集合中的对象
ArrayList中,有一个内部类,这个内部类,实现了一个接口,就是Iterator,覆盖了这个接口中
的全部3个抽象方法hasNext next remove
remove()删除迭代到的对象
import java.util.*;
public class CollectionDemo {
public static void main(String[] args) {
method_5();
}
//获取两个集合中的交集 boolean retainAll(Collection c)
public static void method_5(){
Collection co2 = new ArrayList();
co2.add("abc1");
co2.add("abc2");
co2.add("abc3");
co2.add("abc4");
Collection co3 = new ArrayList();
co3.add("abc6");
co3.add("abc7");
co3.add("abc8");
co3.add("abc9");
System.out.println(co2);
boolean b = co2.retainAll(co3);
System.out.println(co2);
System.out.println(b);
}
//移除集合中的元素boolean remove(Object o)
//移除集合中的一批元素 boolean removeAll(Collection c)两个集合,相同的对象被删除了
public static void method_4(){
Collection co2 = new ArrayList();
co2.add(123);
co2.add("abc");
co2.add(false);
co2.add(false);
co2.add(1.23);
System.out.println(co2);
// co2.remove(false);
// System.out.println(co2);
Collection co3 = new ArrayList();
co3.add(false);
co3.add(1.23);
co2.removeAll(co3);
System.out.println(co2);
System.out.println(co3);
}
//判断一个集合是否包含另一个集合boolean containsAll(Collection c)
public static void method_3(){
Collection co2 = new ArrayList();
co2.add("123");
co2.add("false");
co2.add(123);
Collection co3 = new ArrayList();
co3.add("123");
co3.add(123);
co3.add("false");
boolean b = co2.containsAll(co3);
System.out.println(b);
// System.out.println(co3.isEmpty());
}
//判断集合中是否包含某个对象 boolean contains
public static void method_2(){
Collection col = new ArrayList();
col.add("abc");
col.add("bcd");
col.add("cde");
col.add("def");
boolean b = col.contains("bcd");
System.out.println(b);
}
//清除集合中的对象,size()方法返回集合中对象的个数
public static void method_1(){
Collection col = new ArrayList();
col.add(111);
col.add(222);
col.add(333);
System.out.println(col);
System.out.println(col.size());
col.clear();
System.out.println(col);
System.out.println(col.size());
}
//向集合中存对象
public static void method(){
Collection col = new ArrayList();//接口引用指向实现类对象,多态
//调用add方法,存储对象
col.add("abc");
col.add(123);//自动装箱,提升为Integer对象
col.add(false);// new Boolean(false);
System.out.println(col);//只是为了演示,别的什么也做不了,只能看,不能碰
Collection co2 = new ArrayList();
co2.add("sdf");
co2.add(7890);
col.addAll(co2);
System.out.println(col);
}
}
====================================================================================================================================
|---List
List集合都有下标
List集合存储的对象是有序的
List集合允许存储重复对象
List集合常用方法
add(int index,object o)在指定的位置上插入元素
addAll(int index,Collection c)
remove(int index)
set(int index,Object o)指定的位置上修改对象
List subList(int start,int end)获取集合中的一部分,存储到新集合中
List集合中的特有迭代器
所有List派系的集合都有这个方法listIterator();返回的是List集合特有迭代器
使用List特有迭代器,可以在迭代过程中对集合中的元素进行添加,删除,修改,进行逆向遍历
|——List集合派系分支
|---ArrayList
底层数据结构是数组,长度是可变的,变化率是每次增长50%,默认是10个长度数组
这个集合是线程不安全的,里面的方法,都是不同步的,效率高
查询快,增删慢
|--LinkedList
|--底层数据结构是链表结构
|--特点:增删快,查询慢
|--offerFirst()在列表头,插入元素
|--offerLast()在列表尾,插入元素
|--peekFirst()获取但不移除列表第一个元素
peekLast pollFirst,pollLast
|--Vector
package cn.itcast.list;
import java.util.*;
public class ListDemo {
public static void main(String[] args) {
method_4();
}
//List subList(int start, int end) 获取集合中的一部分,存储到新集合
public static void method_4(){
List list = new ArrayList();
list.add("abc1");
list.add("abc2");
list.add("abc3");
System.out.println("原集合:"+list);
List newList = list.subList(0, 2);
System.out.println(list);
System.out.println(newList);
}
list常用方法 E set(int index,Object o)
public static void method_3(){
List list = new ArrayList();
list.add("abc1");
list.add("abc2");
list.add("abc3");
System.out.println("原集合:"+list);
Object o = list.set(0, "#########");
System.out.println(o);
System.out.println("修改后集合:"+list);
}
//list常用方法 E remove(int index)
public static void method_2(){
List list = new ArrayList();
list.add("abc1");
list.add("abc2");
list.add("abc3");
System.out.println("原集合:"+list);
Object o = list.remove(20);
System.out.println(o);
System.out.println("删除后集合:"+list);
}
//List常用方法add(int index ,Object o)
//List常用方法addAll(int index ,Collection c)
public static void method_1(){
List list = new ArrayList();
list.add("abc1");
list.add("abc2");
list.add("abc3");
System.out.println("原集合:"+list);
list.add(1, "WW");
System.out.println("添加后集合:"+list);
List list2 = new ArrayList();
list2.add("false");
list2.add(123);
list.addAll(2,list2);
System.out.println("添加后集合:"+list);
}
public static void method(){
List list = new ArrayList();
list.add("abc1");
list.add("abc2");
list.add("abc3");
for(int x = 0 ; x < list.size();x++){
System.out.println(list.get(x));
}
}
}