java中没有关于修改数组长度的api,在此本人提供了修改数组长度的两个函数:arrayAddLength()和arrayReduceLength().详细见代码. 
[java] view plaincopyprint?
import java.lang.reflect.Array;  
  
/** 
* Description: This class is used to adjust array length. 
* @author e421083458 
*/  
public class ArrayTest {  
  
/** 
* @param args 
*/  
public static void main(String[] args) {  
int a[]= new int[]{0,1,2,3,4,5};  
int b[]= new int[]{0,1,2,3,4,5};  
a = (int[]) arrayAddLength(a,2);  
b = (int[]) arrayReduceLength(b,2);  
//out print array lenght  
System.out.println(a.length);  
for (int i=0;i<a.length;i++){  
System.out.print(a[i]);  
}  
System.out.println();  
  
System.out.println(b.length);  
for (int i=0;i<b.length;i++){  
System.out.print(b[i]);  
}  
}  
/** 
* Description: Array add length 
* @param oldArray 
* @param addLength 
* @return Object 
*/  
public static Object arrayAddLength(Object oldArray,int addLength) {  
Class c = oldArray.getClass();  
if(!c.isArray())return null;  
Class componentType = c.getComponentType();  
int length = Array.getLength(oldArray);  
int newLength = length + addLength;  
Object newArray = Array.newInstance(componentType,newLength);  
System.arraycopy(oldArray,0,newArray,0,length);  
return newArray;  
}  
/** 
* Description: Array reduce lenght 
* @param oldArray 
* @param reduceLength 
* @return Object 
*/  
public static Object arrayReduceLength(Object oldArray,int reduceLength) {  
Class c = oldArray.getClass();  
if(!c.isArray())return null;  
Class componentType = c.getComponentType();  
int length = Array.getLength(oldArray);  
int newLength = length - reduceLength;  
Object newArray = Array.newInstance(componentType,newLength);  
System.arraycopy(oldArray,0,newArray,0,newLength);  
return newArray;  
}  
}  

Java修改数组长度的更多相关文章

  1. Java的数组长度无需编译指定,因为它是对象

    大家可以看从Thinking in Java中摘出来的代码理解一下,甚至.多维数组的子数组无须等长 //: MultiDimArray.java// Creating multidimensional ...

  2. 【Java】 剑指offer(2) 不修改数组找出重复的数字

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 在一个长度为n+1的数组里的所有数字都在1到n的范围内,所以数组中至少 ...

  3. JAVA为什么不能通过构造函数传参来设置数组长度。

     今天我们来说说 JAVA通过构造函数传递的参数来设置数组长度的问题. 问题在于我们没有明确知晓JVM的运行顺序.在new对象的时候,先调用构造函数,但是并没有将执行构造函数的代码,随机之后就初始化了 ...

  4. 增长java中数组的长度

    package month_201711; import java.util.Arrays;/** * 数组长度+1 * @author watchfree * */public class Main ...

  5. Java-Runoob-高级教程-实例-数组:03. Java 实例 – 获取数组长度-*

    ylbtech-Java-Runoob-高级教程-实例-数组:03. Java 实例 – 获取数组长度 1.返回顶部 Java 实例 - 获取数组长度  Java 实例 本文我们将为大家介绍如何使用数 ...

  6. java如何增加数组长度

    遇到一个面试题:在不使用list的add方法的情况下,动态的添加元素(大概是这个样子): ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,需学习arraylist的相关知识(ht ...

  7. 找出整数数组中出现次数超过数组长度一半的元素(Java)

    Question:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字 package com.study.zhipengs.test; import java.util.Arrays; im ...

  8. java 一个数组的长度

    package java03; /* *如何获取数组长度 : * 格式: * 数组名称.length * * 这会得到一个int数字,代表数组的长度 * * 数组一旦创建,程序运行期间,长度不可改变 ...

  9. C++ 数组长度 以及 数组名作为参数传递给函数 以及 为什么不在子函数中求数组长度

    在看排序,首先是插入排序,思路理清后想用代码实现,然后问题来了: 如何求数组长度? 如果没记错,在Java中应该是有直接可用的方法的, Python中(序列)也有.len,在C/C++中,字符串倒是有 ...

随机推荐

  1. mongodb与sql语句对照表

    inert into users value(3,5) db.users.insert({a:3,b:5})     select a,b from users db.users.find({}, { ...

  2. linux中的进程管理

    USER  那个用户启动的进程 PID     该进程的ID号 %CPU   占用的CPU百分比 %MEM   占用的物理内存百分比 VSZ      占用虚拟内存大小 KB RSS      占用实 ...

  3. 大型网站系统架构实践(四)http层负载均衡之haproxy实践篇(一)

    方案 上篇文章讲到了负载均衡的相关理论知识,这篇文章我打算讲讲实践方法以及实践中遇到的问题 方案:haproxy http层负载均衡 安装一个haproxy服务,两个web服务 haproxy:192 ...

  4. 解决 SQL Server Profiler 跟踪[不断]出现检索数据

    问题简单回顾: 当我们使用SQL Server Profiler根据数据时,有时刚打开什么也没干呢,就显示很多数据了,当我们用橡皮擦清除,没过两秒就又有了,如图: 是不是很恼火!~不怕,解决方案如下: ...

  5. G-nav-03

    /*dele masthead.css style*/.masthead .navigation .btn.btn-masthead.btn-apply:after { content: ''; di ...

  6. zabbix_监控_进程

        一.根据进程名称监控 1.创建Item(只能通过进程名.用户过滤进程)  http://www.2cto.com/os/201405/302249.html http://www.ithao1 ...

  7. .net架构设计读书笔记--第一章 基础

    第一章 基础 第一节 软件架构与软件架构师  简单的说软件架构即是为客户构建一个软件系统.架构师随便软件架构应运而生,架构师是一个角色. 2000年9月ANSI和IEEE发布了<密集性软件架构建 ...

  8. Java-异常Throwable,Exception,Error

      异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等. 异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程. Java通过API中Throwable类的众多子类描述各种不同的 ...

  9. bzoj 1193 贪心

    如果两点的曼哈顿距离在一定范围内时我们直接暴力搜索就可以得到答案,那么开始贪心的跳,判断两点横纵坐标的差值,差值大的方向条2,小的条1,不断做,直到曼哈顿距离较小时可以暴力求解. 备注:开始想的是确定 ...

  10. 【bzoj2463】 谁能赢呢?

    www.lydsy.com/JudgeOnline/problem.php?id=2463 (题目链接) 题意 一个n*n的棋盘,开始时左上角有一个棋子,每次可以把棋子向4个方向移动,但不能移动到曾经 ...