java的各种集合使用

来源:互联网 发布:jdk和java区别 编辑:程序博客网 时间:2024/06/05 02:26
import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.HashSet;import java.util.TreeMap;import java.util.TreeSet;public class Main{    void solve()    {        HashSet<Integer> s = new HashSet<Integer>();        s.add(2);///set的加入元素的方法        s.add(3);        s.add(2);        s.add(4);           s.remove(3);///set删除元素的方法        for(int i : s) System.out.print(i+" ");///遍历set的方法        System.out.println();System.out.println();        HashMap<Integer,Integer> mp = new HashMap<Integer,Integer>();        mp.put(1,2);///map加入元素的方法第一个参数是key,第二个参数是value        mp.put(2,3);        mp.put(3, 4);        mp.remove(3);///map的删除方法        ///遍历map最高效的方法        for(HashMap.Entry<Integer,Integer> entry : mp.entrySet())        {            System.out.println(entry.getKey()+" "+entry.getValue());        }        System.out.println();        /*         * 上述的两个都是无序的但是查找是o(1)的,不过有bug         */        Comparator<Integer> cmp;        cmp = new Comparator<Integer>() {            @Override            public int compare(Integer o1, Integer o2) {                // TODO Auto-generated method stub                return o2-o1;            }        };        //TreeSet<Integer> treeset = new TreeSet<Integer>();        TreeSet<Integer> treeset = new TreeSet<Integer>(cmp);///默认是从低到高,我使用了cmp重载后就会从高到底        treeset.add(1);        treeset.add(2);        treeset.add(3);        treeset.add(4);        for(int i :treeset)System.out.print(i+" ");System.out.println();        TreeMap<Integer,Integer> treemap = new TreeMap<Integer,Integer>(cmp);//默认是从低到高,我使用了cmp重载后就会从高到底按照key值        treemap.put(1,3);///map加入元素的方法第一个参数是key,第二个参数是value        treemap.put(2,2);        treemap.put(3,4);        treemap.remove(3);///map的删除方法        System.out.println();        for(HashMap.Entry<Integer,Integer> entry : treemap.entrySet())        {            System.out.println(entry.getKey()+" "+entry.getValue());        }        System.out.println();        ///对int数组排序        Integer [] a = {1,2,3,4,5,6};        Arrays.sort(a,0,a.length);///实现对数组a的排序升序        for(int i = 0;i<a.length;i++)System.out.print(a[i]+" ");System.out.println();        Arrays.sort(a,0,a.length,cmp);///实现对数组a排序降序        for(int i = 0;i<a.length;i++)System.out.print(a[i]+" ");System.out.println();        ///对动态数组排序        ArrayList<Integer> list = new ArrayList<Integer>();        for(int i = 0;i<5;i++)        {            list.add(i);        }        System.out.println();        Collections.sort(list);///对list进行升序排序        for(int i = 0;i<list.size();i++)        {            System.out.print(list.get(i)+" ");        }        System.out.println();        Collections.sort(list, cmp);///对list进行降序排序        for(int i = 0;i<list.size();i++)        {            System.out.print(list.get(i)+" ");        }        System.out.println();    }    public static void main(String[] args)    {        new Main().solve();    }}
原创粉丝点击