ArrayList集合的介绍与应用
import java.util.ArrayList;
public class TextArraryList {
public static void main(String[] args) {
ArrayList <String> list1 =new ArrayList<>();
System.out.println(list1);//[ ]
list1.add("张三");
list1.add("李四");
list1.add("王五");
System.out.println(list1);//[张三, 李四, 王五]
String str1 = list1.get(0);
System.out.println(str1);//张三
String str2 = list1.remove(1);
System.out.println("删除的字符串是: " + str2);
System.out.println(list1);//[张三, 王五]
//ArrayList集合遍历
for (int i = 0; i < list1.size(); i++) {
System.out.println(list1.get(i));
}
ArrayList<Integer> list2 = new ArrayList<>();
list2.add(100);
list2.add(200);
list2.add(300);
//遍历集合
for (int i = 0; i <list2.size(); i++) {
System.out.println(list2.get(i));
}
}
}
ArrayList集合的具体写法是ArrayList<E>,E代表泛型,可以是任意一种引用类型,不能是基本类型;
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
如果内容为空,得到的就是空的中括号;[ ]
ArrayList集合的常用方法有:
public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致,返回值代表添加是否成功
注:对于ArrayList集合来说,add添加是一定成功的,所以返回值可用可不用,对于有些集合来说就不一定了。
public E get(int index):从集合当中获取元素,index是索引编号,返回的就是对应位置的元素。
public E remove(int index):从集合当中删除元素,index就是索引编号,返回的就是被删除的元素。
public int size():获取集合的尺寸长度,返回的是集合中元素的个数。
如果要使用基本类型,则需要用到包装类:
基本类型 包装类(引用类型,包装类都位于java.lang包下)
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
其中int和char的需要特别记忆一下。
Java 1.5之后可以自动拆箱装箱,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行。
自动装箱:基本类型->包装类
自动拆箱:包装类->基本类型
以下是ArrayList集合的简单应用
import java.util.ArrayList;
import java.util.Random;
//生成6个1~100之间的随机整数,添加到集合,并遍历输出。
public class text1 {
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(100)+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 text2 {
public static void main(String[] args) {
ArrayList<Student> stu =new ArrayList<>();
stu.add(new Student("张三",18,'男'));
stu.add(new Student("李四",20,'男'));
stu.add(new Student("王华",19,'女'));
//集合遍历
for (int i = 0; i < stu.size(); i++) {
Student stu1 = stu.get(i);
System.out.println("我叫: "+stu1.getName()+" 年龄: "+stu1.getAge()+" 性别: "+stu1.getSex());
}
}
}
class Student {
private String name;
private int age;
private char sex;
public Student() {
}
public Student(String name, int age, char sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
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;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
}
import java.util.ArrayList;
//定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}括起来集合,使用@分隔每一个元素
//格式参照 {元素@元素@元素}
public class text3 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("刘六");
System.out.println(list);//[张三, 李四, 王五, 刘六]
printArraryList(list);
}
public static void printArraryList(ArrayList<String> list) {//{张三@李四@王五@刘六}
System.out.print('{');
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i));
if(i == list.size()-1) {
System.out.println('}');
} else {
System.out.print('@');
}
}
}
}
import java.util.ArrayList;
import java.util.Random;
//将大集合bigList中的偶数放到小集合smallList中,并遍历。
public class text4 {
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;//1~100
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> smalList = new ArrayList<>();
for (int i = 0; i < bigList.size(); i++) {
int num = bigList.get(i);
if(num % 2 ==0) {
smalList.add(num);
}
}
return smalList;
}
}