1.1集合概述
1)集合特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变;
2)ArrayList<E>:可以调整大小的数组实现,<E>是一种特殊的数据类型,泛型;E可以使用引用数据类型替换。eg.ArrayList<String>
1.2ArrayList构造方法和添加方法
1.public ArrayList()//创建一个空的集合对象;
2.public boolean add(E e)//将指定的元素追加到此集合的末尾
3.public void add(int index,E element)//在此集合中的指定位置插入指定的元素
import java.util.ArrayList;
public class ArrayListDemo1 {
public static void main(String[]args){
ArrayList<String> array=new ArrayList<>();//创建一个空的集合对象,此时arr为空
array.add("hello");//array[0] 添加到集合的末尾,此时array集合为hello.
array.add("world");//array[1] 此时,array集合为[hello,world].
array.add("java");//array[2]
array.add(1,"xuexi");//在数组原先1的位置加学习,其他元素后移,此时为[hello, xuexi, world, java],不可越界比如超出数组长度
System.out.println("array"+array);
}
}
1.3
public class ArrayListDemo1 {
public static void main(String[]args){
ArrayList<String> array=new ArrayList<>();//创建一个空的集合对象,此时arr为空
array.add("hello");//array[0] 添加到集合的末尾,此时array集合为hello.
array.add("world");//array[1] 此时,array集合为[hello,world].
array.add("java");//array[2]
array.add(1,"xuexi");//在数组原先1的位置加学习,其他元素后移,此时为[hello, xuexi, world, java],不可越界比如超出数组长度
array.remove("hello");//将hello删除,此时为[xuexi, world, java],若直接输出,即用System,返回值为boolean类型,显示是否删除成功。
array.remove(1);//此时删除数组array[1],为[xuexi, java],若直接输出,返回值为删除掉的元素
array.set(0,"hello");//将0位置的元素改为hello,为[hello, java],返回值为被修改的元素xuexi
array.get(0);//返回0位置的元素,原来集合不会发生改变
array.size();//返回集合中的元素个数
System.out.println("array"+array);
}
}
eg1.遍历学生对象,学生对象里面有姓名和年龄。(普通版)
public class Student { private String name; private int age; public Student(String name,int age){ this.name=name; this.age=age; } public void setName(String name){ this.name=name; } public void setAge(int age){ this.age=age; } public String getName(){ return name; } public int getAge(){ return age; } } public class Xueshengcaozuoxitong { public static void main(String[]args){ ArrayList<Student> array=new ArrayList<>(); Student a=new Student("张三",20); Student b=new Student("李四",23); array.add(a); array.add(b); for(int i=0;i<array.size();i++){ Student s=array.get(i);//类型转化 System.out.println(s.getName()+" "+s.getAge());//注意输出为s.get类型,否则输出为地址 } } }