ArrayList类
ArrayList类
ArrayList简单介绍
**感觉很像c++里面的vector **
1.储存的类型都是相同的
2.打印的时候直接打印内容而不是地址
ArrayLsit的简单使用
代码示例
import java.util.ArrayList;
public class Array {
public static void main(String[] args) {
ArrayList<String> arr = new ArrayList<>();//创建一个Arrlist数组
System.out.println(arr);//[]
//add()方法添加元素
arr.add("蔡徐坤");
System.out.println(arr);
arr.add("王一博");
arr.add("易烊千玺");
System.out.println(arr);
}
}
ArrayList集合的常用方法和遍历
1.add()添加元素
2.get()获取元素
3.删除元素
4.获取集合长度
代码示例
import java.util.ArrayList;
public class Demo05ArrayList {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list);
boolean yes = list.add("蔡徐坤");
System.out.println("元素是否添加成功:" + yes);//添加方法的返回值为bool
System.out.println(list);
list.add("薛之谦");
list.add("王一博");
list.add("鹿晗");
System.out.println(list);
System.out.println("第2个元素是:" + list.get(1));//get方法返回值是数组的内容
System.out.println("删除第1个元素:");
//remove的返回值是被删除的元素
System.out.println("被删除的元素是:" + list.remove(0));
System.out.println(list);
//使用for循环进行遍历ArrayList
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
ArrayList储存基本数据类型
ArrayList里面的类型只能是引用类型(因为引用类型是地址值)
我们要在集合里面使用基本数据类型,需要这些基本类型的包装类
- int Inteage
- byte Byte
- short Short
- long Long
- float Float
- double Double
- char Char
- boolean Boolean
自动装箱--自动拆箱
代码示例
import java.util.ArrayList;
public class Demo06 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(100);
list.add(200);
list.add(300);
list.add(400);
System.out.println(list);
for (int i = 0; i < list.size(); i++) {
int x = list.get(i);
System.out.println(x);
}
}
}
ArrayList的使用
储存随机数字
题目要求
代码实现
import java.util.ArrayList;
import java.util.Random;
public class demo08 {
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);
}
System.out.println(list);
}
}
储存自定义对象
题目要求
代码实现
import java.util.ArrayList;
public class demo01 {
public static void main(String[] args) {
Student one = new Student("蔡徐坤", 19);
Student two = new Student("王一博", 20);
Student three = new Student("易烊千玺", 23);
Student four = new Student("王源", 21);
ArrayList<Student> list = new ArrayList<>();
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 demo02 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("易烊千玺");
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 s = list.get(i);
if (i != 0) {
System.out.print("@" + s);
} else {
System.out.print(s);
}
}
System.out.println("}");
}
}
集合作为方法的返回值
题目要求
产生一个装有20个随机数的大集合,调用方法产生一个是由大集合里面的偶数所构成的小集合
代码示例
import java.util.ArrayList;
import java.util.Random;
public class demo03 {
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);
}
System.out.println(bigList);
ArrayList <Integer> smallList =getSmall(bigList);
System.out.println("该集合有"+smallList.size()+"个偶数元素");
System.out.println(smallList);
}
public static ArrayList<Integer> getSmall(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;
}
}