`
keepwork
  • 浏览: 332125 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
开发者博客:http://www.developsearch.com

/**
 * 数组 工具类
 * 
 * @author chenxin
 * @version [版本号, 2012-5-21]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class ArrayUtil {

	/**
     * 比较两个字符串数组,返回第一个数组与第二个数组不同的元素数组
     * 
     * @param array1 String[] 字符串1
     * @param array2 String[] 字符串2
     * @return String[] 返回两个字符串数组中不同的元素数组
     */
    public static String[] compare(String[] array1, String[] array2)
    {
        // 第一个数组为空,返回空
        if ((null == array1) || (0 == array1.length))
        {
            return new String[0];
        }
        
        // 第二个数组为空,返回第一个数组
        if ((null == array2) || (0 == array2.length))
        {
            return array1;
        }
        
        int index = -1;
        List<String> list = new ArrayList<String>();
        for (int i = 0; i < array1.length; i++)
        {
            index = inArray(array1[i], array2);
            if (-1 == index)
            {
                list.add(array1[i]);
            }
        }
        
        if (0 == list.size())
        {
            return new String[0];
        }
        
        String[] diff = new String[list.size()];
        return list.toArray(diff);
    }
    
    /**
     * 判断字符串是否在字符串数组中
     * 
     * @param str String 需要判断的字符串
     * @param strs String[] 被判断的字符串数组
     * @return int 如果字符串不在数组中,返回-1;否则返回该元素索引
     */
    public static int inArray(String str, String[] strs)
    {
        if ((null == str) || (null == strs))
        {
            return -1;
        }
        
        for (int i = 0; i < strs.length; i++)
        {
            if (strs[i].equals(str))
            {
                return i;
            }
        }
        
        return -1;
    }
    
   
    
    /**
     * 随机从一组内容ID数组中取出一个元素
     * @param bookIDs bookIDs
     * @return String
     * @see [类、类#方法、类#成员]
     */
    public static String getRankMember(String[] bookIDs)
    {
        int length = bookIDs.length;
        
        java.util.Random r = new java.util.Random();
        int x = java.lang.Math.abs(r.nextInt()) % length;
        
        return bookIDs[x];
    }
    
    /**
     * 得到随机数 <功能详细描述>
     * 
     * @param num 随机数个数
     * @param length 随机数阀值
     * @return [参数说明]
     * 
     * @return int[] [返回类型说明]
     * @exception throws [违例类型] [违例说明]
     * @see [类、类#方法、类#成员]
     */
    private static int[] randon(int num, int length)
    {
        boolean[] cards = new boolean[length];
        for (int index = 0; index < length; index++)
        {
            cards[index] = false;
        }
        java.util.Random r = new java.util.Random();
        int x;
        
        // 随机返回下标数组
        int[] result = new int[num];
        for (int index = 0; index < num; index++)
        {
            do
            {
                x = java.lang.Math.abs(r.nextInt()) % length;
                
            } while (cards[x]);
            
            cards[x] = true;
            
            result[index] = x;
        }
        return result;
    }


}
分享到:
评论

相关推荐

    js 数组工具类 ArrayUtil

    ArrayUtil是一个实用的JavaScript工具类,它提供了一系列方便的方法,以帮助开发者更高效地处理数组操作。这个工具类通常包含各种自定义的数组函数,以弥补JavaScript内置数组方法的不足。接下来,我们将深入探讨...

    ArrayUtil+DateUtil+FileUtil+ReguUtil+StringUtil

    这里提到的"ArrayUtil+DateUtil+FileUtil+ReguUtil+StringUtil"是五个这样的工具包,它们分别针对数组操作、日期处理、文件操作、正则表达式匹配和字符串操作提供了一系列便利的方法。 1. **ArrayUtil**: - **...

    go-arrayutil:Go 数组的实用函数集合,灵感来自 Ruby 的 Array 函数

    阵列工具-- 导入“github.com/atedja/go-arrayutil”用法功能紧凑 func Compact ( arr [] interface {}) [] interface {} 从数组中删除 nil 值。 例子: var arr = []interface{}{1, 2, 3, 4, nil, 5}result := ...

    ArrayUtil.java

    输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分, 所有偶数位于数组的后半部分。要求时间复杂度为O(n)

    计算机后端-Java-Java核心基础-第15章 面向对象07 11. 自定义ArrayUtil工具类的优化.avi

    计算机后端-Java-Java核心基础-第15章 面向对象07 11. 自定义ArrayUtil工具类的优化.avi

    StringUtil

    Java字符串工具类。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    Java常用ArrayUtile工具类

    ### Java常用ArrayUtil工具类知识点解析 #### 一、判断数组是否为空(null或长度为0) **功能:** 此方法用于检查一个对象数组是否为空。如果数组为`null`或者数组的长度为0,则认为该数组为空。 **代码实现:** ...

    JDK7源码 包含rt.jar包下的 sun包源码 sun.security包等源码

    在Java开发领域,JDK(Java Development Kit)是不可或缺的基础工具,它包含了Java运行环境、编译器以及各种工具。JDK7版本是Java历史上的一个重要里程碑,引入了许多新特性和改进。本压缩包提供了JDK7的源码,特别...

    机试题.docx

    b) ArrayUtil 类(30 分): 在 com.xc 包下,考生需要创建 ArrayUtil 类,该类中包含三个方法: 1. arrayTest 方法(10 分):在该方法中,考生需要定义一个一维数组 int[] array = {22,13,19,12,11,46,15,26},...

    flex学习笔记,技巧学习

    这里假设`bookdata`已经定义为某种类型的数据结构(例如数据集或对象),通过`ArrayUtil.toArray()`将其转换为数组形式,以便于后续处理。 #### 使用ArrayCollection管理数据 - **`ArrayCollection`**: Flex中非常...

    给程序员用的基于Java语言的工具集canoe-util-master.zip

    1. ArrayUtil:提供数组的扩展操作,如查找、复制、合并等,同时支持多维数组操作。 2. CollectionUtil:集合相关的辅助工具,包括集合的创建、遍历、比较以及集合元素的转换等。 3. StringUtil:提供字符串的高级...

    Java软件开发实战 Java基础与案例开发详解 4-2 数组应用 共16页.pdf

    ArrayUtil.printArray(myArray); } } ``` #### 七、总结 通过对《Java软件开发实战》第四章第二节的学习,我们深入了解了数组的基本概念及其在求解平均值、最大值、最小值等问题中的应用。同时,还介绍了数组排序...

    Flash与Flex3结合学习心得体会

    - Adobe提供了一系列的Utils包,如ArrayUtil、StringUtil、DateUtil、NumberFormatter和DictionaryUtil等,这些工具类包含了各种实用方法,例如字符串处理、数组操作、日期比较和格式化数字等。 - 例如,ArrayUtil...

    Java语言基础入门教程 Java实训教程 5.类属性及类方法定义 共40页.pptx

    int total = ArrayUtil.sum(1, 2, 3, 4, 5); // 调用变参方法 ``` 综上所述,Java中的类属性和类方法是面向对象编程的基本组成部分,它们共同构成了类的概念,使得开发者能够更好地组织代码,实现模块化编程。通过...

    java数组函数(摘自JAVA编程思想)

    Java 8引入了方法引用的概念,我们可以直接用ArrayUtil的函数名来调用其方法,如`Arrays::sort`进行排序,简化代码: ```java Arrays.sort(numbers); ``` 7. **安全的数组操作** 在`com.bruceeckel.util`包中...

    Access Objects from Velocity

    - `arrayUtil`:提供数组操作的工具类。 - `browserSniffer`:用于浏览器检测。 - `dateFormats`、`dateTool`、`dateUtiles`:提供日期格式化和工具类。 - `escapeTool`:提供HTML和JavaScript的转义工具。 - `...

    javaSE基础强化,自写自用

    数组工具类`ArrayUtil`可以包含静态方法来处理数组,如转换数组为字符串表示,校验数组是否为空等。 总之,JavaSE基础强化主要涉及强类型语言的理解、权限修饰符的应用、面向对象的特性,特别是静态关键字的使用,...

    as3corelib-.92.11.rar_as 3 corelib_as3_as3corelib_as3corelib API

    2. 数组运算:AS3CoreLib提供了一些增强的数组操作方法,例如`ArrayUtil`类,它包括了排序、查找、去重等实用功能。这些工具可以简化对数组的操作,提高代码的可读性和效率。 3. 网络连接:库中的`Net`类提供了一套...

Global site tag (gtag.js) - Google Analytics