java char 动态数组_Java ArrayList集合(Java动态数组)

一、ArrayList集合的概述和基本使用

1.概述

ArrayList是集合的一种实现,Collection是所有集合类的父类。

由于数组在运行期间的长度无法改变,所以有了ArrayList集合。

2.基本使用

创建ArrayList集合

import java.util.ArrayList;//不要忘记导包

//代表泛型,E可以定义为所有的引用类型,例如String、类等

ArrayList list = new ArrayList<>();

将其它类型的集合转为ArrayList

ArrayList setList = new ArrayList<>(new HashSet())

常用的方法

(1)添加数据 - add()

ArrayList list = new ArrayList<>();

list.add("csdn");

(2)获取数据 - get()

list.get(i);//i为集合的元素索引

(3)删除数据 - remove()

list.remove(i);//i为集合的元素索引

(4)获取集合长度 - size()

int l = list.size();

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

二、ArrayList集合的详细介绍

1.定义一个ArrayList集合

(1)语法格式

ArrayList list = new ArrayList<>();

(2)解读

代表泛型,代表集合里装的类型

泛型只能是引用类型,不能是基本类型

对于ArrayList集合,直接打印的结果并不是地址值,而是内容,如果是空则打印 []

从jdk1.7开始右侧尖括号内部可以不写内容

2.ArrayList集合常用的方法

定义集合

定义一个泛型为String的ArrayList集合

ArrayList list = new ArrayList<>();

System.out.println(list);//打印结果为:[]

添加元素

public boolean add(E e):向集合中添加元素,类型与泛型一致

//只能添加字符串类型,其他类型会报错

list.add("CSDN");

list.add("aaaa");

list.add("bbbb");

System.out.println(list);

//打印集合结果为:[CSDN, aaaa, bbbb]

通过ArrayList类的可以看出add方法有一个布尔类型的返回值,可以用于返回添加数据是否成功。

boolean res = list.add("ssss");

System.out.println("添加是否成功"+res);

对于ArrayList集合来说,使用add方法一定会添加成功(其它集合不一定),所以可以不使用add方法的返回值。

获取元素

public E get(int index):从集合中获取元素,参数index代表元素索引编号。

//获取集合的第 1 个元素

String strAdd = list.get(0);

System.out.println(Str);//结果为:CSDN

//根据添加顺序,第 0 号元素应为 “CSDN”

get方法有一个与集合定义时对应的泛型的返回值,接收数据时应注意数据类型。

删除元素

public E remove(int index):从集合中删除元素,参数index代表元素索引编号。

//删除集合的第 3 个元素

String strRemove = list.remove(2);

System.out.println("被删除的是:" + str);

remove方法有一个与集合定义时对应的泛型的返回值,在执行删除操作后可以将数据接收,查看被删除的数据。

获取集合长度

public int size():获取集合长度

int l = list.size();

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

3.将"类"存入ArrayList集合

(1)首先定义一个Student的标准类

public class Student {

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;}

}

(2)创建集合存入"类"

import java.util.ArrayList;

public class Test {

public static void main(String[] args) {

//创建集合

ArrayList list = new ArrayList<>();

//创建要存储的对象

Student s1 = new Student("张三",17);

Student s2 = new Student("李四",18);

//将对象信息存入集合

list.add(s1);

list.add(s2);

//使用匿名对象的方式存入也可以,因为这个对象只会被使用一次

list.add(new Student("王五",19));

//直接打印集合,会显示为对象的内存地址值

System.out.println(list);

//因此要想取出数据,必须再次创建对象接收数据

Student p11 = list.get(0);

System.out.println("姓名:"+p11.getName()+",年龄:"+p11.getAge());

}

4.遍历ArrayList集合

import java.util.ArrayList;

/*

遍历ArrayList集合

*/

public class ArrayListEach {

public static void main(String[] args) {

//创建集合对象

ArrayList list = new ArrayList<>();

//添加数据

list.add("aaaa");

list.add("bbbb");

list.add("cccc");

//遍历集合

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

System.out.println(list.get(i));

}

}

}

5.将基本数据类型存入ArrayList集合

如果希望向ArrayList集合里放基本数据类型,必须使用基本类型对应的包装类。

基本类型对应的包装类如下:

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

shortShort

intInteger

longLong

floatFloat

doubleDouble

charCharacter

booleanBoolean

【tips】

除了int和char的包装类不是首字母大写外,其它六种基本类型的包装类均是首字母大写。

import java.util.ArrayList;

public class ArrayListBasic {

public static void main(String[] args) {

//从jdk1.5开始可以自动装箱,自动拆箱

//基本类型 --> 包装类型 装箱

//包装类型 --> 基本类型 拆箱

ArrayList list = new ArrayList<>();

list.add(100);

list.add(200);

list.add(300);

//取出数据

int num = list.get(1);

System.out.println("取出的数据为:"+num);//结果为:取出的数据为:200

}

}

6.ArrayList作为方法的参数

案例分析:

1.ArrayList作为参数

2.使用"{ }“作为开结尾,使用”、"分隔每个元素

import java.util.ArrayList;

public class ArrayListParam {

public static void main(String[] args) {

//创建集合

ArrayList list = new ArrayList<>();

list.add("aaa");

list.add("bbb");

list.add("ccc");

list.add("ddd");

//System.out.println(list);

//调用方法;并将创建的集合作为参数,传递给方法

printArrayList(list);

}

//编写打印数组的方法,并将ArrayList集合设置为方法的参数

public static void printArrayList(ArrayList list){

System.out.print("{");

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

if(i == list.size()-1){

System.out.print(list.get(i));

System.out.print("}");

}else {

System.out.print(list.get(i)+"、");

}

}

}

}

7.ArrayList作为方法的返回值

案例分析:

1.使用ArrayList集合作为方法的返回值

2.使用大集合存放20个数字,并筛选偶数放入小集合

import java.util.ArrayList;

import java.util.Random;

public class ArrayListReturn {

public static void main(String[] args) {

ArrayList list = returnArrayList();

System.out.println(list);

}

//定义需求方法,并将返回值类型设置为ArrayList集合

public static ArrayList returnArrayList(){

Random r = new Random();

//定义大集合

ArrayList listBig = new ArrayList<>();

//定义小集合

ArrayList listSmall = new ArrayList<>();

for (int i = 0; i < 20; i++) {

int num = r.nextInt(10);

//向集合中添加数据

listBig.add(num);

//判断添加的数据是否为偶数,如果是,则将数据存入小集合

if(listBig.get(i)%2 == 0){

listSmall.add(listBig.get(i));

}

}

System.out.println("偶数一共有:"+listSmall.size()+"个");

//返回值为小集合

return listSmall;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值