Java基础(极客)——20、Java集合类详解(补充)

时间:2023-02-15 10:11:07

package com.zhh.java.jihe;


import java.util.ArrayList;


/**
 * 2、Java集合-List
 * list动态数组列表
 * list中的元素可以重复
 * 按照放入的先后顺序排序
 *
 */

public class MyListDemo1 {


    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("A");
        list.add("A");
        list.add("B");


        for (String s : list) {
            System.out.println(s);//打印出来list中的所有元素


        }
        list.remove(0);//删除第一项
        System.out.println("删除后的数据");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }


        System.out.println("判断集合是否为空:" + list.isEmpty());
        System.out.println("B的位置:" + list.indexOf("B"));


    }


}//class



package com.zhh.java.jihe;



import java.util.Vector;


/**
 * 2、Java集合-List
 * Vector和ArrayList使用基本一样
 * 区别在于:
 * ArrayList是jdk1.2之后推出的,采用异步处理的方式性能高,属于非线程安全
 * Vector是jdk1.0推出的,采用同步处理的方式性能低,属于线程安全
 *
 */

public class MyListDemo2 {


    public static void main(String[] args) {
        Vector<String> list = new Vector<String>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));


        }


    }


}//class



package com.zhh.java.jihe;


import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;


/**
 * 3、Java集合-Set
 * set
 * TreeSet可以排序
 * 不能加入重复元素
 */

public class SetDemo1 {


    public static void main(String[] args) {
        //jiHe1();
        //jiHe2();
        jiHe3();
    }


    public static void jiHe1() {
        Set<String> set = new HashSet<String>();
        set.add("a");
        set.add("b");
        set.add("c");
        set.add("d");
        System.out.println("打印set:" + set);
        //        打印set:[d, b, c, a] 
        //        HashSet没有顺序


    }


    public static void jiHe2() {
        Set<String> set = new TreeSet<String>();
        set.add("a");
        set.add("b");
        set.add("c");
        set.add("d");
        System.out.println("打印set:" + set);
        //        打印set:[d, b, c, a] 
        //        TreeSet有顺序


    }


    public static void jiHe3() {
        Set<String> set = new TreeSet<String>();
        set.add("a");
        set.add("c");
        set.add("b");
        set.add("d");
        System.out.println("打印set:" + set);
        //        打印set:[d, b, c, a] 
        //        TreeSet有顺序


    }


}//class



package com.zhh.java.jihe;


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


/**
 *4、Java集合-Iterator
 *集合的迭代输出
 */

public class IteratorDemo1 {


    public static void main(String[] args) {
        //        mothed1();
        //mothed2();
        mothed3();
    }


    public static void mothed1() {


        ArrayList<String> list = new ArrayList<String>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");
        list.add("f");
        Iterator<String> iter = list.iterator();
        while (iter.hasNext()) {
            System.out.println(iter.next());
            //            打印出的结果
            //            a
            //            b
            //            c
            //            d
            //            e
            //            f
        }


    }


    /**
     * 通过remove方法来删除一条数据
     */
    public static void mothed2() {


        ArrayList<String> list = new ArrayList<String>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");
        list.add("f");
        Iterator<String> iter = list.iterator();
        while (iter.hasNext()) {
            String str = iter.next();
            if ("a".equals(str)) {
                iter.remove();
            } else {
                System.out.println("打印出元素:" + str);
            }
        }


    }


    /**
     * 在迭代输出的时候不能对集合进行删除,否则就会出异常
     * 
     * Exception in thread "main" java.util.ConcurrentModificationException
    at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:819)
    at java.util.ArrayList$Itr.next(ArrayList.java:791)
    at com.zhh.java.jihe.IteratorDemo1.mothed3(IteratorDemo1.java:80)
    at com.zhh.java.jihe.IteratorDemo1.main(IteratorDemo1.java:15)


     */
    public static void mothed3() {


        ArrayList<String> list = new ArrayList<String>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");
        list.add("f");
        Iterator<String> iter = list.iterator();
        while (iter.hasNext()) {
            list.remove(2);
            System.out.println(iter.next());


        }


    }


}//class



package com.zhh.java.jihe;


import java.util.HashMap;
import java.util.Map;


/**
 * 5、Java集合-Map
 * set
 * TreeSet可以排序
 * 不能加入重复元素
 */

public class MapDemo1 {


    public static void main(String[] args) {
        //        mapMethod1();
        mapMethod2();
    }


    public static void mapMethod1() {
        Map<String, String> map = new HashMap<String, String>();
        map.put("key1", "a");
        map.put("key2", "b");
        map.put("key3", "c");
        map.put("key4", "d");
        map.put("key5", "e");
        String key1 = map.get("key1");
        System.out.println(key1);
    }


    /**
     * 判断key value是否存在
     */
    public static void mapMethod2() {
        Map<String, String> map = new HashMap<String, String>();
        map.put("key1", "a");
        map.put("key2", "b");
        map.put("key3", "c");
        map.put("key4", "d");
        map.put("key5", "e");
        if (map.containsKey("key1")) {
            System.out.println("key存在");


        } else {
            System.out.println("key不存在");
        }
        if (map.containsValue("a")) {
            System.out.println("内容存在");


        } else {
            System.out.println("内容不存在");
        }


    }
}//class



package com.zhh.java.jihe;


import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;


/**
 *5、Java集合-Map
 * set
 * TreeSet可以排序
 * 不能加入重复元素
 */

public class MapDemo2 {


    public static void main(String[] args) {
        //        mapMethod1();
        mapMethod2();


    }


    /**
     * 得到所有的键
     */
    public static void mapMethod1() {
        Map<String, String> map = new HashMap<String, String>();
        map.put("key1", "a");
        map.put("key2", "b");
        map.put("key3", "c");
        map.put("key4", "d");
        map.put("key5", "e");
        Set<String> i = map.keySet();//得到所有的键
        Iterator<String> iterator = i.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());


        }
    }


    /**
     * 得到所有的值
     */
    public static void mapMethod2() {
        Map<String, String> map = new HashMap<String, String>();
        map.put("key1", "a");
        map.put("key2", "b");
        map.put("key3", "c");
        map.put("key4", "d");
        map.put("key5", "e");
        Collection<String> i = map.values();//得到所有的键
        Iterator<String> iterator = i.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());


        }
    }


}//class






源码下载:
http://download.csdn.net/detail/zhaihaohao1/8741715
视频下载:
http://c38.yunpan.360.cn/my/index/#%2F%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91%2Fjava%2F