zoukankan      html  css  js  c++  java
  • 集合框架的工具类

    Arrays 

    —将数组转为其他形式  

    Arrays:集合框架的工具类,里面的方法都是静态的。

    (1) Arrays.toString(arr)  将数组转为字符串。

    (2) Arrays.asList(arr)     将数组转为List集合。

    好处:可以使用集合的方法操作数组中的元素。注意:数组的长度是固定的,所以对于集合的增删方法是不可以使用的。否则会发生异常。

    public class ArraysDemo {
    
        public static void main(String[] args) {
            String[] arr={"3","1"};                      
            System.out.println(Arrays.toString(arr)); //输出[3, 1]
            
            List<String> list=Arrays.asList(arr);  //数组转集合
            boolean b=list.contains("1");
            System.out.println(b);        
        }
            
        //toString的经典实现
         public static String toString(int[] a) {
                if (a == null)
                    return "null";
                int iMax = a.length - 1;
                if (iMax == -1)
                    return "[]";
    
                StringBuilder b = new StringBuilder();
                b.append('[');
                for (int i = 0; ; i++) {//中间省略判断,提高效率
                    b.append(a[i]);
                    if (i == iMax)
                        return b.append(']').toString();
                    b.append(", ");
                }
            }
    
    }

    —排序和查找

    sort、binarySearche、copyOfRange

    toArray—将List集合转成数组形式

    ArrayList提供了一个将List转为数组的一个非常方便的方法toArray。toArray有两个重载的方法:

    1.list.toArray();

    2.list.toArray(T[] a);

    对于第一个重载方法,是将list直接转为Object[] 数组;

    第二种方法是将list转化为你所需要类型的数组,当然我们用的时候会转化为与list内容相同的类型。
    String[] arr=list.toArray(new String[list.size()]); //传入指定的字符串数组

    Collections

    1.排序操作

    2.查找替换

    forEach

     foreach语句:

    * 格式:
    * for(类型 变量:Collection集合(数组))
    * {
    * }
    *
    * 传统for和高级for的区别?
    * 传统for可以完成对语句执行很多次,因为可以定义控制循环变量和条件
    *
    * 高级for是一种简化形式。
    * 它必须有遍历的目标。该目标是数组,要么是Collection集合。
    *
    * 对数组的遍历如果仅仅是获取数组中的元素,可以使用高级for
    * 如果要对数组的角标进行操作建议使用传统for。

    可以使用高级for遍历map集合吗?

    不能直接使用,但是可以将map转成单列的set后再使用

    Map<Integer,String>map=new HashMap<Integer,String>();
            map.put(1, "haha");
            map.put(2, "hehe");
                 
            for(Map.Entry<Integer, String> me:map.entrySet()){
                Integer key=me.getKey();
                String value=me.getValue();
                System.out.println(key+":"+value);
            }

                                                                                                                      

  • 相关阅读:
    <%%>与<scriptrunat=server>,<%=%>与<%#%>的区别
    UVA 11134
    Codeforces Round #219 (Div. 1)(完全)
    Delphi版浏览器(持续更新)
    Spring3.0 入门进阶(三):基于XML方式的AOP使用
    UVa 10801 Lift Hopping / floyd
    poj 3501 Escape from Enemy Territory 二分+bfs
    vim 编辑器
    RRT路径规划算法(matlab实现)
    A*寻路算法C++简单实现
  • 原文地址:https://www.cnblogs.com/xiangkejin/p/5934920.html
Copyright © 2011-2022 走看看