0 集合
集合的特点(相较于数组):
- 自动伸缩、可长可短
- 可以存引用数据类型,不能直接存基本数据类型(可以变为对应的包装类)。
ArrayList使用的最多。类似于C++中的vector。
1 创建与输出
ArrayList本质同vector一样,是一类泛型。所以创建时需指定存储类型。
ArrayList<string> list = new ArrayList<string>();
ArrayList<Character> list = new ArrayList<>()
ArrayList<Integer> list = new ArrayList<>();//JDK7后面的类型可省略,但必须有尖括号
java对ArrayList做了些预处理,当sout直接输出AL 对象时,会输出所含内容而非地址。且会用【】进行包裹。
如:“[内容1,内容2,…]”
2 常用成员方法
- boolean add(E e) : 添加元素,返回值表示是否成功
- boolean remove(E e) : 删除指定内容元素
- E remove(int index) : 删除指定索引元素,返回被删除元素
- E set(int index,E e) : 修改(替换)指定索引下的元素,返回原来的元素
- E get(int index) : 获取指定索引元素
- int size() : 返回集合元素个数
3 案例
public class ArrayListTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Student> slist = new ArrayList<>();
for (int i = 0; i < 3; i++) {
Student s=new Student();
String name= sc.next();
int age =sc.nextInt();
s.setAge(age);
s.setName(name);
slist.add(s);
}
System.out.println(slist);
for (int i = 0; i < slist.size(); i++) {
System.out.println(slist.get(i).getName());
System.out.println(slist.get(i).getAge());
System.out.println();
}
}
}