Collections包装类 & List和数组互相转化

java.util.Collection是一个集合接口。他提供了对集合对象进行基本操作的通用接口方法,Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。

java.util.Collections是一个包装类。它包含各种有关集合操作的静态多态方法,此类不是实例化,就像一个工具类,服务于java的Collection框架。

  • Collections 比数组好--数组转化成list

除少数情况外,好的做法是尽快将遇到的任何数组转换成集合。于是问题来了,完成这种转换的最容易的方式是什么?事实证明,Java Collections API 使这种转换变得容易。

Arrays.asList(array); 注意:Java中Arrays的asList()方法可以将数组转为List。 但是这个数组类型必须是 引用类型的,如果是8种基本数据类型就不可以。原因请查看http://blog.csdn.net/anders_zhuo/article/details/8960996

wKioL1ia7M7jlTTbAAAZaFkwvns655.png

wKioL1ia7QyBDWnSAABAmS4SOfg787.png

如果是8种基本类型,可以for循环一个个把他们加到list里面,注意转化成包装类后加到list里面。

wKioL1icGM6QEDJmAABEEaGqmPs969.png

  • 排序  Collections.sort(list);
    实现原理:把list转化成数组,数组排序(一般是数值的排序)

    Object a[] = list.toArray();

    Arrays.sort(a);  //此时a是排好序的数组了

  • 混排 Collections.Shuffling(list)

  • 反转 Collections.reverse(list)

    112, 111, 23, 456, 231 反转后是231,456,23,111,112

  • 替换所有元素 Collections.fill(list,'aaa');

      {"dd","aa","bb","cc","ee"}; 替换后是aaa,aaa,aaa,aaa,aaa

  • 拷贝 Collections.copy(list,li): 后面一个参数是目标列表 ,前一个是源列表

  • 返回Collections中最小元素(min)Collections.min(list);

  • 返回Collections中最大元素(max)Collections.max(list);

  • lastIndexOfSubList(list,li);   li在list中最后出现的起始位置

  • IndexOfSubList(list,li);  li在list中第一次出现的起始位置

  • Rotate(list, -1); 根据指定的距离循环移动指定列表中的元素; 负数往右移动


补充个list转数组的方法list.toArray()

wKiom1idI9TB5VxZAAAqONVYZXQ990.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章