集合框架的工具类

Posted 开拖拉机的蜡笔小新

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合框架的工具类相关的知识,希望对你有一定的参考价值。

Array —将数组转为其他形式  

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(", ");
            }
        }

}

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);
        }

 

 

                                                                                                                  

以上是关于集合框架的工具类的主要内容,如果未能解决你的问题,请参考以下文章

Java源码分析集合框架-Collections工具类-Arrays工具类

Java集合框架:Collections工具类

集合框架工具类Collections

Java集合框架—— Collections工具类

java集合框架--工具类Collections

Java集合框架:Collections工具类