MDA/MDD/TDD/DDD/DDDDDDD
posts - 536, comments - 111, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

操作数组

Posted on 2010-01-14 18:43 leekiang 阅读(798) 评论(0)  编辑  收藏 所属分类: javacommons
1,List转数组
    List list = new ArrayList();
        list.add("1");
        list.add("2");
        int size = list.size();
        String[] arr = (String[]) list.toArray(new String[size]);
     必须带参数new String[size],否则会报造型异常

2, 数组转List
    String[] arr = new String[] {"1", "2"};
    List list = Arrays.asList(arr);

3,  Arrays.binarySearch(Object[] arr,Object key)
    public static int binarySearch(int[] a,int key)使用二进制搜索算法来搜索指定的 int 型数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通过上面的 sort 方法)。如果没有对数组进行排序,则结果是不明确的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。
    也就是说必须先执行Arrays.sort,再执行Arrays.binarySearch

4, commons-lang的ArrayUtils
   1)ArrayUtils.contains()方法可以判定数组是否存在指完元素.比Arrays.binarySearch好用(见上文)
     当然有两个比较实用的方法ArrayUtils.lastIndexOf()和ArrayUtils.indexOf()
   3)使用ArrayUtils.reverse(arr)方法可以反转一个数组
   4)使用ArrayUtils.toObject(arr)和ArrayUtils.toPrimitive(arr)两个方法,
     即可互相转换基本类型数组和对象数组
   5)ArrayUtils.toString()方法可以输入数组内容,此方法接受任意一个数组
     作为参数并输出其内容,输出时所有元素位于大括号,中间逗号隔开。
     如new String[] { "1","2","3","fd","3g"}会输出为字符串"{1,2,3,fd,3g}"
   6)// 判断数组是否为空(null和length=0的时候都为空)
        ArrayUtils.isEmpty(new int[0]);// true
        ArrayUtils.isEmpty(new Object[] { null });// false
   7)
// 合并两个数组
        ArrayUtils.addAll(new int[] { 135 }, new int[] { 24 });// {1,3,5,2,4}
   8)// 删除数组中某个对象(从正序开始搜索,删除第一个) 注意只删除一个
        ArrayUtils.removeElement(new int[] { 135 }, 3);// {1,5}





只有注册用户登录后才能发表评论。


网站导航: