写目录
- 集合概述
- ArrayList\:
- 使用方法
- 构造方法和添加方法
- 新建集合
- 添加指定的元素到末尾
- 制定位置添加指定元素
- 如果添加的索引越界,会提示一下错误
- ArrayList集合的常用方法
- 删除指定的元素,返回删除是否成功
- 删除指定索引处的元素,返回被删除的元素
- 修改指定索引处的元素,返回被修改的元素
- 返回指定索引处的元素
- 返回集合中元素的个数
- ArrayList实操练习
- 遍历集合
- Array存储对象并遍历
集合概述
编程的时候如果要存储多个数据,使用长度固定的数组存储格式,不一定满足我们的需求,要适应不了变化的需求,那么,此时改如何选择呢?
集合类的特点:提供一个存储空间可变的存储模型,存储的数据容量可以发生改变。
ArrayList<E>:
- 可调整大小的数组
- <E>:是一种特殊的数据类型,泛型
使用方法
在出现E的地方玩们使用引用数据类型替换即可
举例:ArrayList <String>,ArrayList<Student>
构造方法和添加方法
方法名 | 说明 |
public ArrayList() | 创建一个空的集合对象 |
public boolean add(E e) | 将制定的元素追加到此集合的末尾 |
public void add(int index,e element) | 在此集合中的制定位置插入的元素 |
新建集合
import java.util.ArrayList;
public class ArrayListdome01 {
public static void main(String[] args) {
//创建一个新的String集合
//格式 ArrayList<泛型> 集合名称 = new ArrayList<>();
ArrayList<String> array = new ArrayList<>(); //jdk7以后的新特性,可以不在<>里添加String
ArrayList<String> array1 = new ArrayList<String>();//也可以添加String
System.out.println("array:"+array);
}
}
输出:
array:[]
添加指定的元素到末尾
System.out.println(array.add("hello"));//提示true的话表示添加成功
array.add("world");
输出:
true
array:[hello, world]
制定位置添加指定元素
array.add(1,"my");//在索引1的位置添加"my"
System.out.println(array);
输出:
[hello, my, world]
如果添加的索引越界,会提示一下错误
IndexOutOfBoundsException
ArrayList集合的常用方法
方法名 | 说明 |
public boolean remove(Objecto) | 删除指定的元素,返回删除是否成功 |
public E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
public E get(int index) | 返回指定索引处的元素 |
public int siez() | 返回集合中元素的个数 |
删除指定的元素,返回删除是否成功
ArrayList<String> array = new ArrayList<>();
array.add("hello");
array.add("world");
System.out.println(array.remove("hello"));//删除指定的元素,返回true or false(如果删除不存在的元素就会提示fales)
System.out.println(array);
输出
true
[world]
删除指定索引处的元素,返回被删除的元素
ArrayList<String> array = new ArrayList<>();
array.add("hello");array.add("world");
array.remove(1);//删除索引处元素,如果删除的索引不存在,会提示索引越界
System.out.println(array);
输出:
[hello]
修改指定索引处的元素,返回被修改的元素
ArrayList<String> array = new ArrayList<>();
array.add("hello");array.add("world");
array.set(0,"my");//修改索引位为0的元素
System.out.println(array);
输出
[my, world]
返回指定索引处的元素
ArrayList<String> array = new ArrayList<>();
array.add("hello");array.add("world");
System.out.println(array.get(0));//获取索引为0的元素
输出
hello
返回集合中元素的个数
ArrayList<String> array = new ArrayList<>();
array.add("hello");array.add("world");
System.out.println(array.size());
输出
2
ArrayList实操练习
遍历集合
import java.util.ArrayList;
public class ArrayListdome01 {
public static void main(String[] args) {
//创建一个新的String集合
ArrayList<String> array = new ArrayList<>();
array.add("hello");array.add("world");array.add("world");
for(int i =0;i<array.size();i++){
System.out.println(array.get(i));
}
}
}
输出
hello
world
world
Array存储对象并遍历
创建一个对象:Student.java
import java.util.Scanner;
class Student {
private String name;
private int age;
public Student(){}
public Student(String name,int age){
this.name = name;
this.age = age;
}
}
创建一个主程序,利用集合存储对象:ArrayLIstdome02.java
import java.util.ArrayList;
public class ArrayList02 {
public static void main(String[] args) {
ArrayList<Student> array= new ArrayList<Student>();//创建集合对象
Student s1 = new Student("张三",1);//创建三个对象
Student s2 = new Student("李四",2);
Student s3 = new Student("王五",3);
array.add(s1);array.add(s2);array.add(s3);//添加对象到集合中
for(int i =0;i< array.size();i++){
Student s = array.get(i);//重新赋值对象到s中
System.out.println("name :"+s.getName()+" age :"+s.getAge());//获取name及age
}
}
}