集合概述
集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变
1、Arraylist<E>:
- 可调整大小的数组实现
- <E>: 泛型,是一种特殊的数据类型。
怎么用?
在出现E的地方我们使用引用数据类型替换即可
举例:Arraylist<String>,Arraylist<Student>
2、Arraylist构造方法和添加方法
单词:
index :索引
element:
3、Arraylist集合常用方法
Arraylist集合常用方法 的示例
public static void main(String[] args) {
ArrayList<String> array = new ArrayList<String>();
array.add("hello");
array.add("word");
array.add("java");
/*public boolean remove(objet o):删除指定元素,返回删除是否成功
System.out.println(array.remove("word"));
*/
/* public E remove(in index):删除指定索引处的元素,返回被删除的元素
System.out.println(array.remove(1));
*/
/*public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
System.out.println(array.set(1,"javaee"));
*/
/*public int size();返回集合中的元素的个数
System.out.println(array.size());
*/
System.out.println("array"+array);
}
题1、存储字符串并遍历
需求:创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合
注明:遍历集合的通用格式
for(int i=0;i<集合对象.size();i++){
集合对象.get(i)就是指定索引处的元素
}
示例:
public static void main(String[] args) {
//创建集合对象
ArrayList<String> array = new ArrayList<String>();
// 往集合里添加字符串对象
array.add("嘿嘿嘿");
array.add("你在笑吗");
array.add("那就笑一个吧");
/*遍历集合,首先要能够获取到集合中的每一个元素,这个通过get(int index)方法实现
System.out.println(array.get(0));
System.out.println(array.get(1));
System.out.println(array.get(2));
for (int i = 0; i < 3; i++) {
System.out.println(array.get(i));
}
*/
// 遍历集合的通用格式
for (int i=0;i<array.size();i++){
String s = array.get(i);
System.out.println(s);
}
}
题2、存储学生对象并遍历
需求:创建一个存储学生对象的集合,存储2个学生对象,使用程序实现在控制台遍历
思路:
1定义学生类、2创建集合对象、3创建学生对象
4添加学生对象到集合中 、5遍历集合,采用通用遍历格式实现
//1、学生类
public class Student {
private String name;
private int age;
public Student(){}
public Student(String name,int age){
this.name = name;
this.age = age;
}
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 class ArrayListTest {
public static void main(String[] args) {
//2、创建集合对象
ArrayList<Student> array = new ArrayList<Student>();
//3、创建学生类对象
Student S1 = new Student("果果",2);
Student S2 = new Student("筱筱",1);
//4、添加学生对象到集合中
array.add(S1);
array.add(S2);
//5、遍历集合,采用通用遍历格式实现
for (int i=0;i<array.size();i++){
Student S = array.get(i);
System.out.println(S.getName()+","+S.getAge());
}
}
}
题3、存储学生对象并遍历(升级)
需求:创建一个存储学生对象的集合,存储2个学生对象,使用程序实现在控制台遍历
学生的姓名和年龄来自于键盘录入
//1、学生类,把学生类中的成员变量都定义为String类型
public class Student {
private String name;
private String age;
public Student(){}
public Student(String name,String age){
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge(String age) {
return this.age;
}
public void setAge(String age) {
this.age = age;
}
}
public class ArrayListTest {
public static void main(String[] args) {
//2、创建集合对象
ArrayList<Student> array = new ArrayList<Student>();
//6、调用方法
addStudent(array);
addStudent(array);
}
/*两个明确:
返回值类型:void
参数:ArrayList<Student>array
*/
public static void addStudent(ArrayList<Student> array){
//3、键盘录入学生对象所需要的数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入年龄:");
String age = sc.nextLine();
//4、创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
Student s = new Student();
s.setName(name);
s.getAge(age);
//5、往集合里添加学生对象
array.add(s);
//7、遍历集合,采用通用遍历格式实现
for (int i=0;i<array.size();i++){
Student S = array.get(i);
System.out.println(S.getName()+","+S.getAge());
}
}