通过这段时间对集合框架的学习,java中的常见容器基本学完,数组,stringbuilder,StringBuffer,集合

集合笔记:

package 集合框架1.arraylist;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**集合类的由来:
 * 对象用于封装特有数据,对象多了就需要存储,如果对象的个数不确定就是用集合容器进行存储。
 * 集合特点:
 * 1、用于存储对象的容器
 * 2、集合的长度是可变的
 * 3、集合中不可以存储基本数据类型值
 * 
 * 集合容器因为内部数据结构不同,有多种具体容器,
 * 不断向上抽取,就形成了集合框架
 * 框架的顶层Collection接口
 * Collection的常见方法:
 * 1、添加
 * boolean add(E e);
 * boolean addAll(Collection Coll);
 * 2、删除
 * boolean remove(Object obj);删除一个对象
 * boolean removeAll(Collection Coll);删除一堆对象
 * clear();全部删除
 * 3、判断包含关系
 * boolaen contains(Object obj);
 * boolean containsAll(Collection Coll);
 * boolean isEmpty();判断集合中是否有元素
 * 4、获取
 * int size();获取长度
 * Iterator iterator();返回的是迭代器对象;该对象必须依赖于具体的容器,因为每个容器的数据结构都不同,
 * 所以搞迭代器对象时容器中进行内部实现的。
 * 对于使用容器者而言,具体的实现不重要,只要通过容器获取到该实现的迭代器的对象即可,
 * 也就是iterator()方法。
 * 5、其它
 * boolean retainAll(Collection Coll);取交集
 * Object[] toArray();将集合转成数组
 * */
public class JiHeDemo1 {

    public static void main(String[] args) {
        Collection<String> coll = new ArrayList<String>();
        show(coll);
        Collection<String> c1 = new ArrayList<String>();
        Iterator<String> i1=c1.iterator();
        while(i1.hasNext()){
            System.out.println(i1.next());
        }
        Collection<String> c2 = new ArrayList<String>();
        Iterator<String> i2=c2.iterator();
        while(i2.hasNext()){
            Object obj=i1.next();
            System.out.println(obj.toString());
        }

    }
    public static void show(Collection<String> c1,Collection<String> c2){
        c1.add("abc1");
        c1.add("abc2");
        c1.add("abc3");
        c1.add("abc4");
        
        c2.add("abc2");
        c2.add("abc5");
        c2.add("abc6");
        
        System.out.println("c1"+c1);
        System.out.println("c2"+c2);
        //演示addAll()
        c1.addAll(c2);
        //演示removeALL()
        boolean b1=c1.removeAll(c2);
        System.out.println("removeAll:"+b1);
        System.out.println("c1"+c1);
        //containsAll()
        boolean b2=c1.containsAll(c2);
        System.out.println(b2);
        //retainAll()
        boolean b3=c1.removeAll(c2);//与removeAll功能相反,取交集;
        System.out.println(b3+"\t"+c1);
    }
    public static void show(Collection<String> coll){
        //1、添加元素。add
        coll.add("nba1");
        coll.add("nba2");
        coll.add("nba3");
        //2、删除元素 remove
        coll.remove("nba2");//会改变集合长度
        //清空集合
        coll.clear();
        //判断包含
        System.out.println(coll.contains("nba1"));
        System.out.println(coll);
    }

}
package 集合框架1.arraylist;

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

/**Collection
 * ---List:有序(按照存入先后存放,通过索引取出);元素可以重复
 * ---set :存入元素不能重复*/
public class JiHeDemo2 {

    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        show(list);

    }

    public static void show(List<String> list) {
        list.add("nba1");
        list.add("nba2");
        list.add("nba3");
        list.add("nba4");
        System.out.println(list);
        //插入元素
        list.add(1,"abc1");
        System.out.println(list);
        //删除
        list.remove(3);
        System.out.println(list);
        //判断
        boolean b1=list.contains("nba1");
        System.out.println(b1);
        boolean b2=list.isEmpty();
        System.out.println(b2);
        //取出
        //System.out.println(list.get(3));
        for(int x=0;x<list.size();x++){
            System.out.println(list.get(x));
        }
        
        for(ListIterator<String> li1 = list.listIterator();li1.hasNext();){
            
            System.out.print(li1.next().substring(0, 3)+",");
        }
    }

}