栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java集合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java集合

目录

ArrayList

Collecion 

LIst

linkedList

Collections

HashMap


集合框架被设计成要满足以下几个目标。

该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。

该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。

对一个集合的扩展和适应必须是简单的。

为此,整个集合框架就围绕一组标准接口而设计。

但是这篇文章只说几个

ArrayList
   特点:能存储任意类型的集合
        ArrayList list = new ArrayList();
        //增
        list.add("a");
        list.add("b");

        //删
        list.remove(0);
        boolean bo = list.remove("a");
        System.out.println(bo);

        //改
        list.set(2,"w");
        System.out.println(list);

        //查
        String st = (String)list.get(2);
        System.out.println(st);

Collecion 

        单列集合

        Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的元素, Java不提供直接继承自Collection的类,只提供继承于的子接口(如List和set)。  

 //boolean add(E e)  添加元素
        Collection collection = new ArrayList<>();
        collection.add("a");
        collection.add("b");
        collection.add("c");

        // boolean contains(Object o)  判断集合是否含有指定的元素
        boolean b = collection.contains("a");
        System.out.println(b);//true'
        System.out.println(collection);//[a, b, c]

        //boolean remove(Object o)  从集合中移除指定元素
        boolean b1 = collection.remove("a");
        System.out.println(b1);//true
        System.out.println(collection);//[b, c]

        // void clear()   清空集合
        collection.clear();
        System.out.println(collection);//[]

        //boolean isEmpty()  判断集合是否为空
        boolean b2 = collection.isEmpty();
        System.out.println(b2);//true  原因:第35行清除集合了

        //int size()  集合长度
        int i = collection.size();
        System.out.println(i);//0

LIst

        List接口是一个有序的 Collection,使用此接口能够精确的控制每个元素插入的位置,能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的索引为 0,而且允许有相同的元素。

        //void add(int index,E element)  在此集合中的特定位置插入指定元素
        list.add(0,"a");
        list.add(0,"b");
        list.add(0,"c");
        System.out.println(list); //[c, b, a]

        //E remove(int index)  删除指定索引处的元素  返回被删除元素
        String st = list.remove(0);
        System.out.println(st);//被删除的元素是:c
        System.out.println(list);//[b, a]

        //E set(int index,E element)  修改指定索引处的元素  返回被修改元素
        String st1 = list.set(0,"w");
        System.out.println(st1); //被修改的元素是:b
        System.out.println(list);//[w, a]

        //E get(int index)  获取指定位置的元素
        String st2 = list.get(0);
        System.out.println(st2); //w

linkedList

         是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作,实现 List 接口,能对它进行队列操作。

        他是由node节点实现的

        //public void addLast(E e)  在该列表尾部插入指定元素
        list.addLast("c"); //无论是添加头还是尾  只要是第一次添加  第一个节点即是头节点 又是 尾节点
        System.out.println(list);//[b, a, c]


        //public E  getFirst()  获取第一个元素
        String st = list.getFirst();
        System.out.println(st);//b

        //public E getLast()  获取最后一个元素
        String st1 = list.getLast();
        System.out.println(st1);//c

        //public E removeFirst()  从列表中删除并返回第一个元素
        String st2 = list.removeFirst();
        System.out.println(st2);//b
        System.out.println(list);//[a, c]

        //public E removeLast()  从列表中删除并返回最后一个元素
        String st3 = list.removeLast();
        System.out.println(st3);//c

         //压入   放在头部
        list.push("w");
        System.out.println(list);//[w, a, b, c, d, e]

        //取上面元素  但不清空此元素
        String st = list.peek();
        System.out.println(st);
        System.out.println(list);

        //弹出上面元素  同时清空此元素
        String st = list.pop();
        System.out.println(st);
        System.out.println(list);

        //boolean isEmpty()   测试是否为空
        boolean b = list.isEmpty();
        System.out.println(b);

Collections

        Collection 是集合体系的最底层 包含了集合体系的共性,   Collections 是一个工具类 方法都是用于操作Collection

  List list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");

        //static void swap(List list, int i, int j)  将指定列表中的两个索引进行位置互换
        Collections.swap(list,0,3);
        System.out.println(list);//[d, b, c, a]

        //static void sort(List list) 按照列表元素的自然排序进行排序
        Collections.sort(list);
        System.out.println(list);//[a, b, c, d]

        //static void shuffle(List list)  随机置换
        Collections.shuffle(list);
        System.out.println(list);//[d, a, c, b]

        //static void reverse(List list) 反转集合
        Collections.reverse(list);
        System.out.println(list);//[d, c, b, a] 此结果注释随机置换

        //static void fill(List list, Object obj) 使用特定的对象填充指定列表
        Collections.fill(list,"a");
        System.out.println(list);//[a, a, a, a]

        //                     目标列表    原列表
        //static void copy(List dest,List src)  把原列表中的数据覆盖到目标列表
        //ps: 目标列表的长度至少等于原列表的长度
        List list1 = new ArrayList<>();
        list1.add("1");
        list1.add("2");
        list1.add("3");
        list1.add("4");
        Collections.copy(list,list1);
        System.out.println(list);//[1, 2, 3, 4]

        //static int binarySearch(List list, Object key) 使用二分查找法查找指定元素
        //二分查找的前提是存储元素是有序的
       int index = Collections.binarySearch(list,"2");
        System.out.println(index);

HashMap
       //双列集合
        Map map = new HashMap<>();

        //map 添加元素
        map.put("a",1);
        map.put("b",2);
        map.put("c",3);
        map.put("c",4);  //替换原来的value   如果key重复了  不会替换原来的key



        //通过key获取value
        int value = map.get("a");
        System.out.println(value);//1

        //int size()  获取长度
        int lenght = map.size();
        System.out.println(lenght);

        //boolean containsKey(Object key)  是否包含该key
        boolean bo = map.containsKey("a");
        System.out.println(bo);//true

        //boolean containsValue(Object value)   是否包含该value
        boolean bo = map.containsValue(1);
        System.out.println(bo);//true

        //boolean isEmpty()  判断是否为空
        boolean bo = map.isEmpty();
        System.out.println(bo);//false

        //void clear() 清除map
        map.clear();
        System.out.println(map);//{}

        //void remove(Object key)  根据key删除对应的key=value
        Integer i = map.remove("a");
        System.out.println(i);//1
        System.out.println(map);//{b=2, c=4}


        //不能用增强for循环
//        for (int i : map){}

        //怎么循环迭代
        Set> set = map .entrySet();
        for (Map.Entry entry : set){
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        }

        //返回所有的key   set类型获取
        Set set = map.keySet();
        for (String key : set){
            System.out.println(key);
            //通过key来获取value
            System.out.println(map.get(key));
        }

        //获取所有的value
        Collection i = map.values();
        for (Integer values : i ){
            System.out.println(values);
        }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/769435.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号