`

Jakarta Commons ArrayUtils类使用

阅读更多

转自http://www.blogjava.net/ronghao

primitive 数组克隆及反转排序
  long[] array = { 1, 3, 2, 3, 5, 6 };
  long[] reversed = ArrayUtils.clone( array );
  ArrayUtils.reverse( reversed );
  System.out.println( "Original: " + ArrayUtils.toString( array ) );   //打印
  System.out.println( "Reversed: " + ArrayUtils.toString( reversed ) );
  
  对象数组克隆及反转排序
  Long[] array = new Long[] { new Long(3), new Long(56), new Long(233) };
  Long[] reversed = ArrayUtils.clone( array );
  ArrayUtils.reverse( reversed );
  
  primitive 数组与对象数组之间的转换
  long[] primitiveArray = new long[] { 12, 100, 2929, 3323 };
  Long[] objectArray = ArrayUtils.toObject( primitiveArray );
  Double[] doubleObjects = new Double[] { new Double( 3.22, 5.222, 3.221 ) };
  double[] doublePrimitives = ArrayUtils.toPrimitive( doubleObject );
  注意:对象数组可以含有null元素,primitive 数组则不容许含有null元素,所以对象数组转换为primitive 数组时,可以添入第二个参数,当碰到为null的元素时用其代替(如下,Double.NaN)。如果不添入第二个参数,当碰到为null的元素时,则会抛出NullPointerException 。
  double[] result = ArrayUtils.toPrimitive( resultObjArray, Double.NaN  );
  
  查找一个数组中是否含有特定的元素(查找对象数组时,比较的是对象的equals()方法),及特定元素的第一次出现位置和最后一次出现位置
  String[] stringArray = { "Red", "Orange", "Blue", "Brown", "Red" };
  boolean containsBlue = ArrayUtils.contains( stringArray, "Blue" );
  int indexOfRed = ArrayUtils.indexOf( stringArray, "Red");
  int lastIndexOfRed = ArrayUtils.lastIndexOf( string, "Red" );  
  
  由二维对象数组创建一个 Map
  Object[] weightArray = 
    new Object[][] { {"H" , new Double( 1.007)},
                     {"He", new Double( 4.002)},
                     {"Li", new Double( 6.941)},
                     {"Be", new Double( 9.012)},
                     {"B",  new Double(10.811)},
                     {"C",  new Double(12.010)},
                     {"N",  new Double(14.007)},
                     {"O",  new Double(15.999)},
                     {"F",  new Double(18.998)},
                     {"Ne", new Double(20.180)} };

  Map weights = ArrayUtils.toMap( weightArray );
  Double hydrogenWeight = (Double)weights.get( "H" );
  注意:当二维对象数组"key"值重复时,创建的Map,后面的键-值对会把前面的覆盖掉


分享到:
评论

相关推荐

    Jakarta Commons Cookbook

    在没有使用 Jakarta Commons Lang 的情况下,我们可以使用正则表达式来实现这个功能,但这可能会导致代码不够简洁。而在使用 Jakarta Commons Lang 后,我们可以通过调用 `StringUtils.strip` 方法轻松实现这一需求...

    Jakarta Commons组件之Lang

    Jakarta Commons是Apache软件基金会的一个项目集合,它包含了一系列实用工具类,用于简化Java开发工作。其中,Lang组件是Jakarta Commons中的一个核心模块,它提供了大量的静态方法,用于处理基本Java对象,如字符串...

    jakarta commons cookbook.zip

    《Jakarta Commons Cookbook》是Java开发者的一份宝贵资源,它包含了一系列实用的工具类和组件,可以帮助开发者在日常编程工作中提高效率。Jakarta Commons是Apache软件基金会的一个项目,旨在为Java社区提供一系列...

    JakartaCommons 详细教程更助于你的基础

    Jakarta Commons涉及多个领域,包括字符串处理、验证、Bean操作、集合类等,其设计宗旨在于提供可重用的通用Java功能。这一系列组件为Java开发人员提供了一个强大的工具库,能够简化日常开发任务并提高效率。 1. ...

    Jakarta Commons笔记

    - **org.apache.commons.lang**:核心实用工具类集合,如`StringUtils`、`ArrayUtils`等。 - **org.apache.commons.lang.builder**:提供了一系列用于构建`toString()`、`hashCode()`、`equals()`等方法的工具类。 -...

    Jakarta Commons CookBook学习笔记

    ### Jakarta Commons CookBook 学习笔记 #### 一、Commons Lang: EqualsBuilder and HashCodeBuilder **1.1 概述** `EqualsBuilder` 和 `HashCodeBuilder` 是 Apache Commons Lang 包中提供的两个工具类,用于...

    Apache commons jar包常用类讲解--Jakarta Commons 学习.pdf

    ### Apache Commons Jar包常用类详解 #### 概述 Apache Commons项目是一系列为Java开发者提供的免费、可重用的开源库。这些库旨在提供解决常见编程任务的实用工具类,帮助开发者减少编码工作量,提高代码质量。...

    Jakarta+Commons中文介绍

    ### Jakarta Commons中文介绍 #### 概述 Jakarta Commons是一系列独立可重用的Java组件,由Apache软件基金会维护。这些组件旨在简化Java应用程序的开发,提供一系列实用工具类,帮助开发者解决常见的编程问题,...

Global site tag (gtag.js) - Google Analytics