java集合类(三)

    < java 集合 类的工具类>

     Arrays 和collections

     一、Arrays

      Array是Java特有的数组。在你知道所要处理数据元素个数的情况下非常好用。java.util.Arrays 包含了许多处理数据的实用方法:

  1、Arrays.asList:可以从 Array 转换成 List。可以作为其他集合类型构造器的参数。

  2、Arrays.binarySearch:在一个已排序的或者其中一段中快速查找。

  3、Arrays.copyOf:如果你想扩大数组容量又不想改变它的内容的时候可以使用这个方法。

  4、Arrays.copyOfRange:可以复制整个数组或其中的一部分。

  5、Arrays.deepEqualsArrays.deepHashCode:Arrays.equals/hashCode的高级版本,支持子数组的操作。

  6、Arrays.equals:如果你想要比较两个数组是否相等,应该调用这个方法而不是数组对象中的 equals方法(数组对象中没有重写equals()方法,所以这个方法之比较引用而不比较内容)。这个方法集合了Java 5的自动装箱和无参变量的特性,来实现将一个变量快速地传给 equals() 方法——所以这个方法在比较了对象的类型之后是直接传值进去比较的。

  7、Arrays.fill:用一个给定的值填充整个数组或其中的一部分。

  8、Arrays.hashCode:用来根据数组的内容计算其哈希值(数组对象的hashCode()不可用)。这个方法集合了Java 5的自动装箱和无参变量的特性,来实现将一个变量快速地传给 Arrays.hashcode方法——只是传值进去,不是对象。

  9、Arrays.sort:对整个数组或者数组的一部分进行排序。也可以使用此方法用给定的比较器对对象数组进行排序。

  10、Arrays.toString:打印数组的内容。

   二、Collections

   Java中对集合也有java.util.Collections来处理。

   第一组方法主要返回集合的各种数据:

   1、Collections.checkedCollection / checkedList / checkedMap / checkedSet / checkedSortedMap / checkedSortedSet:检查要添加的元素的类型并返回结果。任何尝试添加非法类型的变量都会抛出一个ClassCastException异常。这个功能可以防止在运行的时候出错。//fixme

   2、Collections.emptyList / emptyMap / emptySet :返回一个固定的空集合,不能添加任何元素。

   3、Collections.singleton / singletonList / singletonMap:返回一个只有一个入口的 set/list/map 集合。       

  4、Collections.synchronizedCollection / synchronizedList / synchronizedMap / synchronizedSet / synchronizedSortedMap / synchronizedSortedSet:获得集合的线程安全版本(多线程操作时开销低但不高效,而且不支持类似putupdate这样的复合操作) 

  5、Collections.unmodifiableCollection / unmodifiableList / unmodifiableMap / unmodifiableSet / unmodifiableSortedMap / unmodifiableSortedSet:返回一个不可变的集合。当一个不可变对象中包含集合的时候,可以使用此方法。

    第二组方法中,其中有一些方法因为某些原因没有加入到集合中:

  1、Collections.addAll:添加一些元素或者一个数组的内容到集合中。

  2、Collections.binarySearch:和数组的Arrays.binarySearch功能相同。

  3、Collections.disjoint:检查两个集合是不是没有相同的元素。

  4、Collections.fill:用一个指定的值代替集合中的所有元素。

  5、Collections.frequency:集合中有多少元素是和给定元素相同的。

  6、Collections.indexOfSubList / lastIndexOfSubList:和String.indexOf(String) / lastIndexOf(String)方法类似——找出给定的List中第一个出现或者最后一个出现的子表。

  7、Collections.max / min:找出基于自然顺序或者比较器排序的集合中,最大的或者最小的元素。

  8、Collections.replaceAll:将集合中的某一元素替换成另一个元素。

  9、Collections.reverse:颠倒排列元素在集合中的顺序。如果你要在排序之后使用这个方法的话,在列表排序时,最好使用Collections.reverseOrder比较器。

  10、Collections.rotate:根据给定的距离旋转元素。

  11、Collections.shuffle:随机排放List集合中的节点,可以给定你自己的生成器——例如 java.util.Random / java.util.ThreadLocalRandom or java.security.SecureRandom

  12、Collections.sort:将集合按照自然顺序或者给定的顺序排序。

  13、Collections.swap:交换集合中两个元素的位置(多数开发者都是自己实现这个操作的)。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值