java中的一维数组

1.数组是一种引用数据类型;


2.数组是一种简单的数据结构,线性结构。

3.数组是一个容器,可以用来存储不同的其它元素,数组可以存储任意类型的元素。

4.数组可以分为一维数组,二维数组、多维数组。

5.数组中存储的元素类型是统一的。

6.数组的长度不可改变,数组一旦创建长度是不可变的,固定的。

7.查找一个元素效率高,插入和删除效率低。

数据有两种初始化方式:

静态初始化:

int[] a={3,4,5,6};//首先在堆中创建一个对象,用来存储数据。
然后这个引用指向这个对象,a用来存储对象在堆中的地址。
Object o1=new Object();
Object 02=new Object();
Object 03=new Object();
Object[] oo={o1,o2,03};//注意o1,o2,o3是引用数据类型。
oo也是引用数据类型,存储是的o1引用的地址。

动态初始化:

//基本数据类型的数组
int[] a=new int[3];
//引用类型的数组
Object[] oo1=new Object[3];
/*动态初始化一维数组,会先在堆内存中分配这个数组,并且数组中每一个元素都采用默认值。
byte,short,int,long 0
float double  0.0
boolean false
char \u0000
引用  null
*/
Object[] objs = new Object[3];
for(int index=0;index<objs.length;index++){
	Object o = objs[index];
	//o.toString(); //注意空指针异常.因为引用类型的数组默认值是null
	System.out.println(o);// null null null
	}//注意上面两者的区别

数组静态初始化和动态初始化的适用场合:无论是动态初始化还是静态初始化,最终的内存分配是一样的。如果在创建数组的时候,知道数组中应该存储什么数据,这个时候应该采用静态初始化方式,如果在创建数组的时候,无法预测数组中存储的什么数据,只要先开辟空间,则使用动态初始化方式。

时间: 2024-08-10 17:18:34

java中的一维数组的相关文章

java中的函数,数组

函数 程序中独立的过程 函数的语法: 函数的定义 声明 static 返回值类型 函数名 (参数表) 形式参数:形参 在函数内部有效的局部变量 实现 { 语句 } 函数的调用 函数名(参数); 实际参数:实参 为形参赋值 接收返回值 函数的作用: 1. 减少冗余代码,提高程序的可维护性 2. 可重用性 函数库 3. 加强代码的结构化 提高可读性 利于分工 非结构化编程(语句) ---> 结构化编程(函数) ---> 面向对象(类) 数组 一次性定义多个同类型的变量 数组空间在内存是连续的 定义

关于Java中多维数组的内存结构分析

基本概念 本文主要针对JVM中关于一维数组和二维数组的内存模型分析.验证.讨论![仅供参考]. 1.概念模型 1)一维数组 int arr[] = new int[3]; 2)二维数组 int[ ][ ] arr = new int[3][ ]; arr[0] = new int[3]; arr[1] = new int[5]; arr[2] = new int[4]; 3)Java中的对象(本章节主要分析和数组相关的内容,关于Java对象的Memory结构会在以后说明!) class A {

Java中集合与数组的切换

在Java开发中常常遇见集合与数组的互相切换,如何实现呢,呵呵呵,很简单: import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; public class Test { /** * 将Set集合转换为数组 * * @author GaoHuanjie */ private static void setT

在Java中怎样把数组转换为ArrayList?

翻译自:How to Convert Array to ArrayList in Java? 本文分析了Stack Overflow上最热门的的一个问题的答案,提问者获得了很多声望点,使得他得到了在Stack Overflow上做很多事情的权限.这跟我没什么关系,我们还是先看看这个问题吧. 这个问题是"在Java中怎样把数组转换为ArrayList?" Element[] array = {new Element(1),new Element(2),new Element(3)}; 1

java中的对象数组

对象数组,很容易顾名思义理解为:数组中的元素都是一个个的对象.但这种理解是错误的,数组中存放的并不是对象本身,而是对象的引用,即指向对象的那个指针,而这个指针是存放在虚拟机内存的栈中. 对象数组的创建需要两个步骤:1)创建一个数组,存放对象的引用.2)具体指出每个引用指向哪个对象(用new实现).下面举例说明. 假设有一个类,类名为Test.1)Test[] array = new Test[2]; 创建一个数组取名为array,里面共有2个元素,每个元素的类型是Test对象的引用.此时arra

java基础中的一维数组和二维数组

1.数组:具有相同数据类型的一组数据的集合. 一维数组 2.创建一维数组 a.数组作为对象允许使用new关键字进行内存分配,使用数组之前,必须首先定义数组变量所属类型,即声明数组.  声明数组: 语法:数组元素类型   数组名字[]; 数组元素类型[]  数组名字: 注释:数组元素类型:决定了数组的数据类型,包括基本数据类型和费基本数据类型. 数组名字:为一个合法的标识符,自己去定义 []:指明该变量是一个数组类型变量,单个"[]"表示要创建的是一维数组. 例如:int arr[];

JAVA中list,set,数组之间的转换详解

JAVA的list,set,数组之间的转换,主要是使用Apache Jakarta Commons Collections,具体的方法如下:import org.apache.commons.collections.CollectionUtils; String[] strArray = {"aaa", "bbb", "ccc"};    List strList = new ArrayList();    Set strSet = new Ha

Java中List转换为数组,数组转List

今天写代码遇到一个奇怪的问题,具体代码不贴出了,写一个简化的版本.如下:ArrayList<String> list=new ArrayList<String>();String strings[]=(String [])list.toArray(); 这样写代码个人觉得应该没什么问题,编译也没有问题.可是具体运行的时候报异常,如下:Exception in thread "main" java.lang.ClassCastException: [Ljava.l

JAVA中集合转数组遍历

JAVA中集合的遍历的一种方法时集合转数组遍历,也是就调用Collection中的toArray(). 代码: public static void main(String[] args) {        // TODO Auto-generated method stub        Collection c=new ArrayList();        c.add(new Student("kj",12));        c.add(new Student("uj