黑马程序员_集合1-listj集合派系

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
















  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值