import java.util.Arrays;
public class ArrayReallocationDemo {
public static void main(String[] args) {
int[] data1 = new int[] { 1, 3, 5, 7, 9 };
printArray(data1);
int[] data2 = Arrays.copyOf(data1, 6);
data2[5] = 11;
printArray(data2);
int[] data3 = Arrays.copyOfRange(data1, 2, 10);
printArray(data3);
}
// print array elements
private static void printArray(int[] data) {
StringBuilder stringBuilder = new StringBuilder("[");
for (int i = 0; i < data.length; i++) {
stringBuilder.append(data[i]);
if (i < data.length - 1)
stringBuilder.append(", ");
}
stringBuilder.append("]");
System.out.println(stringBuilder);
}
}
//输出结果
//[1, 3, 5, 7, 9]
//[1, 3, 5, 7, 9, 11]
//[5, 7, 9, 0, 0, 0, 0, 0]
分享到:
相关推荐
•对于基本类型数组而言,数组元素的值直接存储在对应的数组元素中,因此,初始化数组时,先为该数组分配内 存空间,然后直接将数组元素的值存入对应数组元素中, TestPrimitiveArray 引用...
这可能会减少增量重新分配的数量。 请注意,此实现不同步。 如果多个线程同时访问884457282749实例,并且至少有一个线程在结构上修改列表,则必须在外部进行同步。 (结构修改是添加或删除一个或多个元素的任何...
字符串在java程序中被大量使用,为了避免每次都创建相同的字符串对象及内存分配,JVM内部对字符串对象的创建做了一定的优化,在Permanent Generation中专门有一块区域用来存储字符串常量池(一组指针指向Heap中的...
第10章 基本数据结构 4课时 了解和比较静态分配内存空间和动态分配内存空间,能够选择数组或链表表示线性结构。 掌握通过引用同类型对象(指针)实现链表,动态分配内存空间构建链表。 ...
2.9 数组的定义和内存分配 31 2.10 数组的初始化 31 2.11 数组引用 32 2.12 数组的遍历 32 2.13 二维数组 33 2.14 Java字符串(String) 35 2.15 字符串操作 35 2.15.1.1 1) length() 方法 36 2.15.1.2 2) charAt() ...
学生提问:能不能只分配内存空间,不赋初始值呢?89 4.5.4 使用数组 90 学生提问:为什么要我记住这些异常信息? 91 4.5.5 JDK1.5提供了foreach循环 91 4.6 深入数组 93 4.6.1 内存中的数组 93 学生提问:为...
三、 JDK基础介绍 2 四、 面向对象与面向过程的比较 2 五、 Java相关介绍 2 六、 Path和Classpath执行过程 3 七、 注释方法 3 第二节 7月16日 4 一、 项目流程 4 二、数据类型及分类 4 三、 变量声明 5 四、 变量与...
该项目需要在构建服务器上安装JDK 8,Maven和MongoDB,并且需要在发行服务器上安装JRE 8和MongoDB。 建筑/跑步 要构建,请执行buildScript.sh Shell脚本。 要运行,请执行/ target目录中的assignment- <version> ....
11.3.3 数组边界检查消除 11.3.4 方法内联 11.3.5 逃逸分析 11.4 Java与CC++的编译器对比 11.5 本章小结 第五部分 高效并发 第12章 Java内存模型与线程 12.1 概述 12.2 硬件的效率与一致性 12.3 Java内存...
显然,ArrayList本质是一个Object数组,使用无参构造时会为其分配一个空数组,而指定大小时会使用有参构造器new一个指定大小的数组 但是,可能有细心的同学发现了一个问题,那就是无参构造器的注释上明明写着默认...
/ 301 11.3.2 公共子表达式消除 / 305 11.3.3 数组边界检查消除 / 307 11.3.4 方法内联 / 307 11.3.5 逃逸分析 / 309 11.4 Java与C/C++的编译器对比 / 311 11.5 本章小结 / 313 第五部分 高效并发 第12章 ...
实例003 设置JDK的环境变量 6 实例004 验证Java开发环境 7 实例005 下载并安装JRE执行环境 8 实例006 编程输出星号组成的等腰三角形 9 1.2 开发工具 11 实例007 下载最新的Eclipse 11 实例008 为最新的Eclipse安装...
用JDK编译Java源程序,使用的命令是_______,编译源¬¬¬¬文件得到字节码文件。 Java源程序编译后生成的字节码文件扩展名为________ 2 一个Java源程序是有若干个_____组成。_____是Java的关键字,用来定义类。 3 ...
3.4.2 数组操作 67 3.4.3 NIO 操作 68 3.4.4 访问域 69 3.4.5 调用方法 71 3.4.6 域和方法描述符 72 3.5 异常处理 75 3.5.1 捕获异常 75 3.5.2 抛出异常 75 3.6 局部和全局引用 76 3.6.1 局部引用 76 ...
ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,...
由于Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式实现的。为了线 程切换后能恢复到正确的执行位置,每条线程都需要一个独立的程序计数器,各线程之间的计 数器互不影响,独立存储。 1.如果线程正在...