java中对象数组_Java中对象数组及ArrayList讲解

1.对象数组

首先我们来创建一个类

package LianxiDay1217.重回学Java4;

public class Person {

private String name;//相当于我只写了这两行代码

private int age;

public Person() { //无参构造

}

public Person(String name, int age) { //全参构造

this.name = name;

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

然后再创建一个对象

package LianxiDay1217.重回学Java4;

public class Day1219Array {

public static void main(String[] args) {

//首先创建一个长度为3的数组,里面用来存放Person类型的对象

Person[] array = new Person[3];

Person one = new Person("卡卡罗特",18);

Person two = new Person("路飞",20);

Person three = new Person("鸣人",19);

//将one当中的地址值赋值到数组的0号元素位置

array[0] = one;

array[1] = two;

array[2] = three;

System.out.println(array[0]); //地址值

System.out.println(array[1]); //地址值

System.out.println(array[2]); //地址值

System.out.println(array[1].getName());//路飞

}

}

6df50e7690a7617cfb8ae7c2f785fc4f.png

这样就可以执行了

2.ArrayList集合的概述及使用

数组的长度不可以发生改变。

但是ArrayList集合的长度是可以随意变化的。

对于ArrayList来说,有一个尖括号代表泛型。

泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。

注意:泛型只能是引用类型,不能是基本类型。

注意事项:

对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。

如果内容是空,得到的是空的中括号:[]

package LianxiDay1217.重回学Java4;

import java.util.ArrayList;

public class Day1219ArrayList {

public static void main(String[] args) {

//创建了一个ArrayList集合,集合的名称是list,里面装的全都是string字符串类型的数据

// 备注:从JDK 1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的。

ArrayListlist = new ArrayList<>();

System.out.println(list);

//向集合当中添加一些数据,需要用到add方法。

list.add("奥特曼");

System.out.println(list);//[奥特曼]

list.add("迪迦");

list.add("盖伦");

list.add("奈科斯");

System.out.println(list);//[奥特曼, 迪迦, 盖伦, 奈科斯]

// list.add(100);//错误写法!因为创建的时候尖括号泛型已经说了是字符串,添加进去的元素就必须都是字符串才行

}

}

4b39aab9d806f718ad762a86d2cdc42d.png

3.ArrayList集合的方法及遍历

Arraylist当中的常用方法有:

public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功

备注:对于ArrayList集合来说, add添加动作一定是成功的,所以返回值可用可不用。

但是对于其他集合(今后学习)来说,add添加动作不一定成功。

public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。

public E remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素

public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。

以上这三种比较常见,记住就好了

package LianxiDay1217.重回学Java4;

import java.util.ArrayList;

public class Day1219ArrayListMethod {

public static void main(String[] args) {

ArrayList list = new ArrayList<>();

System.out.println(list); //[]

//向集合中添加元素:add

boolean success = list.add("狼人"); //boolean布尔值

System.out.println(list); //[狼人]

System.out.println("添加的动作是否成功:" + success); //true

list.add("孙悟空");

list.add("路飞");

list.add("鸣人");

list.add("索隆");

System.out.println(list);//[狼人, 孙悟空, 路飞, 鸣人, 索隆]

//集合中获取元素:get,索引从0开始

String name = list.get(2);

System.out.println("第2号索引位置:" + name);//路飞

//从集合中删除元素:remove,索引值从0开始。

String whoRemoved = list.remove(4);

System.out.println("删除的人是" + whoRemoved);//索隆

System.out.println(list);//[狼人, 孙悟空, 路飞, 鸣人]

//获取集合的长度尺寸,也就是其中元素的个数

int size = list.size();

System.out.println("集合的长度是:" + size);

}

}

c3713d4cf62f64b1be33b6283aadac72.png

遍历

package LianxiDay1217.重回学Java4;

import java.util.ArrayList;

public class Day1219ArrayListEach {

public static void main(String[] args) {

ArrayListlist = new ArrayList<>();

list.add("奥特曼");

list.add("铠甲勇士");

list.add("假面骑士");

//遍历集合

for (int i = 0; i< list.size(); i++) {

System.out.println(list.get(i));//集合中获取元素:get,索引从0开始

}

}

}

1e834a7f88e00a809aac2544a9d822b5.png

4.ArrayList集合的存储基本数据类型

基本类型 包装类(引用类型,包装类都位于java.Lang包下)

byte ========> Byte

short ========> Short

int ========> Integer 【特殊】

Long ========> Long

float ========> FLoat

double ========> Double

char ========> Character【特殊】

booLean ========> Boolean

从JDK 1.5+开始,支持自动装箱、自动拆箱。

自动装箱:基本类型–>包装类型

自动拆箱:包装类型–>基本类型

package LianxiDay1217.重回学Java4;

import java.util.ArrayList;

public class Day1219ArrayListBasic {

public static void main(String[] args) {

ArrayList listA = new ArrayList<>();

//错误写法! 泛型只能是引用类型,不能是基本类型

//Arraylist listB = new Arraylist<>();

ArrayList listC = new ArrayList<>();

listC.add(100);

listC.add(200);

System.out.println(listC);//[100, 200]

int num = listC.get(1);

System.out.println("第一号元素是:"+ num);//我想单独拿出来200

}

}

9986b094b51e208579cbf4ad139a8cf6.png

好了,话不多说,有点累了,歇会儿,要慢慢摸索了。

本文同步分享在 博客“康贤”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值