Java ArrayList类
Posted blog-s
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java ArrayList类相关的知识,希望对你有一定的参考价值。
ArrayList<E>
类
- 数组的长度不可以发生改变,但是ArrayList集合的长度是可以随意变化的。
- 对于ArrayList来说,有一个
<E>
代表泛型。 - 泛型,也就是装在集合当中的所有元素,全都是统一的什么类型。
- 注意事项:泛型只能是引用类型,不能是基本类型。
- 注意事项:对于ArrayList集合来说,直接打印得到的不是地址值,而是内容,如果内容是空,得到的是空的中括号, [ ]。
- 示例
import java.util.ArrayList;
public class DemoArrayList
public static void main(String[] args)
//创建了一个ArrayList集合,集合的名称是list,里面装的全都是String字符串类型的数据
//备注:从JDK1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的
ArrayList<String> list = new ArrayList<>();
System.out.println(list); // []
//向集合当中添加一些数据,需要用到add方法
list.add("迪丽热巴");
System.out.println(list); // [迪丽热巴];
list.add("古力娜扎");
list.add("赵丽颖");
System.out.println(list); // [迪丽热巴, 古力娜扎, 赵丽颖]
ArrayList当中常用的方法
public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致,返回值代表添加是否成功。
备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用不可用,但是对于其他集合来说,add添加动作不一定成功。- public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
- public E remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除的元素。
- public int size():获取集合的尺寸长度,返回值是集和当中包含元素的个数。
示例
import java.util.ArrayList;
public class DemoArrayListMethod
public static void main(String[] args)
ArrayList<String> list = new ArrayList<>();
System.out.println(list);
// 向集合当中添加元素:add
boolean success = list.add("迪丽热巴");
System.out.println(list); // 迪丽热巴
System.out.println("添加动作是否成功:" + success); // true
list.add("李小璐");
list.add("赵又廷");
list.add("贾乃亮");
System.out.println(list); //[迪丽热巴, 李小璐, 赵又廷, 贾乃亮]
//从集合当中获取元素:get,索引从0开始
String name = list.get(1);
System.out.println("第一号索引位置:" + name);
//从集合当中删除元素:remove,索引从0开始
String whoRemoved = list.remove(1);
System.out.println("被删除的人是:" + whoRemoved); // 李小璐
System.out.println(list);
//获取集合的长度尺寸,也就是其中元素的个数
System.out.println("集合的长度是:" + list.size());
- 遍历集合
import java.util.ArrayList;
public class DemoArraylistEach
public static void main(String[] args)
ArrayList<String> list = new ArrayList<>();
list.add("迪丽热巴");
list.add("古力娜扎");
list.add("马尔扎布");
// 遍历集合
for (int i = 0; i < list.size(); i++)
System.out.println(list.get(i));
ArrayList存储基本数据类型
- 如果希望向集合ArrayList中存储基本数据类型,必须使用基本类型对应的“包装类”。
- ArrayList中不能存储基本数据类型,集合中实际上存储的是地址值
- 备注:从JDK 1.5+ 开始,支持自动装箱,自动拆箱。
自动装箱:基本类型 --> 包装类型
自动拆箱:包装类型 --> 基本类型
基本数据类型 | 包装类(引用类型,包装类都位于java.lang包下) |
---|---|
byte | Byte |
short | Short |
int | Integer 【特殊】 |
long | Long |
float | Float |
double | Double |
char | Character 【特殊】 |
boolean | Boolean |
- 包装类使用示例
import java.util.ArrayList;
public class DemoArrayLlistBasic
public static void main(String[] args)
ArrayList<Integer> listC = new ArrayList<>();
listC.add(100);
listC.add(200);
System.out.println(listC); // [100, 200]
int num = listC.get(1);
System.out.println("索引为1的元素是:" + num); // 200
题目一
import java.util.ArrayList;
import java.util.Random;
/*
题目:
产生6个1~33的随机数,添加到集合当中,并遍历集合
*/
public class DemoArrayListRandom
public static void main(String[] args)
ArrayList<Integer> list = new ArrayList<>();
Random r = new Random();
for (int i = 0; i < 6; i++)
int num = r.nextInt(33) + 1;
list.add(num);
for (int i = 0; i < list.size(); i++)
System.out.println(list.get(i));
题目二
/*
在ArrayList中存储自定义的对象
*/
import java.util.ArrayList;
public class DemoArrayListStudent
public static void main(String[] args)
ArrayList<Student> list = new ArrayList<>();
Student one = new Student("洪七公", 20);
Student two = new Student("欧阳锋", 21);
Student three = new Student("黄药师", 22);
Student four = new Student("段智兴", 23);
list.add(one);
list.add(two);
list.add(three);
list.add(four);
// 遍历集合
for (int i = 0; i < list.size(); i++)
Student stu = list.get(i);
System.out.println("姓名:" + stu.getName() + ",年龄:" + stu.getAge());
题目三
/*
按指定格式遍历集合字符串
*/
import java.util.ArrayList;
public class DemoArrayListPrint
public static void main(String[] args)
ArrayList<String> list = new ArrayList<>();
list.add("张三丰");
list.add("张无忌");
list.add("张翠山");
list.add("宋远桥");
System.out.println(list); // [张三丰, 张无忌, 张翠山, 宋远桥]
printArrayList(list); // 张三丰@张无忌@张翠山@宋远桥
// 打印指定格式的集合,集合可以当作方法的参数
public static void printArrayList(ArrayList<String> list)
System.out.print("");
for (int i = 0; i < list.size(); i++)
String name = list.get(i);
if (list.size() -1 == i)
System.out.println(name + "");
else
System.out.print(name + "@");
题目四
import java.util.ArrayList;
import java.util.Random;
/*
题目:
创建一个装20个随机数的大集合,将其中的偶数保存在小集合中。
要求自定义方法实现筛选
*/
public class DemoArrayListReturn
public static void main(String[] args)
ArrayList<Integer> bigList = new ArrayList<>();
Random r = new Random();
for (int i = 0; i < 20; i++)
int num = r.nextInt(100) + 1;
bigList.add(num);
ArrayList<Integer> smallList = getSmallList(bigList);
System.out.println("偶数共" + smallList.size() + "个");
for (int i = 0; i < smallList.size(); i++)
System.out.println(smallList.get(i));
// 自定义方法,参数是大集合,返回值是满足条件的小集合
public static ArrayList<Integer> getSmallList(ArrayList<Integer> bigList)
ArrayList<Integer> smallList = new ArrayList<>();
for (int i = 0; i < bigList.size(); i++)
int num = bigList.get(i);
if (num % 2 == 0)
smallList.add(num);
return smallList;
以上是关于Java ArrayList类的主要内容,如果未能解决你的问题,请参考以下文章