Java基础(四)(集合)

集合:

      ArrayList :内部用数组存放数据,其数组长度可变

         方法:add(); clear(); get(); size(); set(); contains()判断内部是否存在与相等指定数据

                    remove(Object); 找到与指定数据相等的数据移除;

                    remove(index); 移除指定的位置;indexOf(); 获得与指定数据相等的数据位置

                    subList(fromIndex, toIndex); 获得一个子集

      HashMap:用于数据的快速查找

          方法:put(key,value); get(key); remove(key);clean(); size(); containskey(key); containsValue(value);

          存放数据步骤:

               1)获得key 的hashCode();

               2)通过哈希值和数组长度运算产生一个数组索引位置

               3)将key和value封装为一个Entry对象

               4)将 Entry 放入数组的index位置

      HashSet

          其内部是一个HashMap, 数据作为HashMap的健保存 ,放入数据:1)不重复;2)顺序不确定

          add(Object); remove(Object); clear(); contains(Object);

          只能用迭代的方法遍历数据,iterator()获得迭代器;

      遍历 Map

              1)keySet() 获得所有的键,作为一个Set类型返回,用迭代器迭代Set所有的键。

              2)entrySet() 获得所有的Entry,作为Set类型返回。

      Collection接口

           add(); addAll();clear();contains(Object); isEmpty() 返回集合是否为空,当集合长度为0时返回true,否则为false

           iterator();返回一个Iterator对象,用于遍历集合里的元素; remove(Object);

      LinkedList: 双向链表结构

            与ArrayList比较:

            1)LinkedList 操作两端数据效率高

            2)LinkedList 操作中间数据效率低

            3)ArrayList 访问任意位置效率都高

            4)LinkedList 索引值遍历效率低,迭代器遍历效率高

            方法:addFirst(Object); addLast(Object);getFirst();getLast(); removeFirst();removeLast(); 

                       offer(Object) 在尾部加入数据,相当于addLast();

                       peek() 获得头部的数据,相当于getFirst();

                       poll() 移除头部数据,相当于removeFirst();

                       push() 在头部加入数据,相当于addFirst();

                       pop() 从头部移除数据,相当于 removeFirst();

Queue 队列操作(先入先出 FIFO)

Stack   栈(后入先出,LIFO)

Collections

        sort(List);sort(List, Comparator); shuffle(List) 打乱顺序;binarySearch(List,Object)   List中的数据是有序的,对象在list中索引位置,找不到返回-1;

List与数组之间的转换:

      1)  List.toArray(); 返回Object[] 数组;

           List.toArray(new String[]); 根据参数类型,返回相同类型的数组;

      2) String[ ] arr={"aaa","bbb","ccc"};

          List<String> list = Arrays.asList(arr);

          List<Integer> list = Arrays.asList(1,1,1,1,1);




      


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值