集合基础
集合概述
集合类提供一种存储空间可变的存储模型,存储的数据容量可以发生改变。
ArrayList
1.可调整的数组实现
2.是一种特殊的数据类型,泛型。
用法
再出现E的地方可以使用引用数据类型替换即可。
如:ArrayList 、 ArrayList
ArrayList构造方法及添加方法
方法名 | 说明 |
---|---|
public ArrayList() | 创建一个空的集合对象 |
public boolean add(E e) | 将指定的元素追加到此集合的末尾 |
public void add(int index,E element) | 在集合中指定位置插入指定元素 |
Demo:
package JavaDay12;
import java.util.ArrayList;
public class ArrayListDemo {
/*
1.导包
2.创建ArrayList对象
3.使用add添加值
*/
public static void main(String[] args) {
//创建一个空的集合对象
ArrayList<String> array = new ArrayList<>();
//使用public boolean add(E e)方法将元素追加到集合末尾
array.add("dejavu");
array.add("dejavuu");
array.add("better");
System.out.println("array:"+array);
//使用public void add(int index,E element)方法将元素加到index索引位置,原先元素像后退一位。
array.add(2,"get");
System.out.println("array"+array);
}
}
ArrayList集合常用方法
方法名 | 说明 |
---|---|
public boolen remove(Object o) | 删除指定元素,返回删除是否成功 |
public E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
public E get(int index) | 返回指定索引处的元素 |
public int size() | 返回集合中的元素的个数 |
Demo:
package JavaDay12;
import JavaStudy.ArrayDemo;
import java.util.ArrayList;
/*
ArrayList的常用方法
1.public boolen remove(Object o)方法,返回删除是否成功的布尔值
2.public E remove(int index)方法,返回删除的元素值。
3.public E set(int index,E element)方法,修改指定元素的值,返回被修改的元素
4.public E get(int index)方法,获取集合指定索引处元素
5.public int size()方法,获取集合元素的个数
*/
public class ArrayListDemo3 {
public static void main(String[] args) {
//创建空集合
ArrayList<String> array = new ArrayList<>();
array.add("past");
array.add("luv");
array.add("dejavu");
array.add("step");
array.add("by");
array.add("step");
//public boolen remove(Object o)方法,返回删除是否成功的布尔值
System.out.println(array.remove("past"));
//public boolen remove(Object o)方法,返回删除的值
System.out.println(array.remove(0));
//public E set(int index,E element)方法,修改指定元素的值,返回被修改的元素
array.set(0, "dejavuu");
//public E get(int index)方法,获取集合指定索引处元素
array.get(2);
//public int size()方法,获取集合元素的个数
array.size();
//输出集合的值
System.out.println("Array:" + array);
}
}
Demo:使用ArrayList存储学生对象并遍历
package JavaDay12;
/*
学生类
*/
public class Student {
private String name;
private int age;
//定义构造方法
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
//定义set()、get()方法
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge() {
this.age = age;
}
public int getAge() {
return age;
}
}
package JavaDay12;
import sun.plugin.javascript.navig.Array;
import java.util.ArrayList;
public class StudentTest {
public static void main(String[] args) {
//创建学生类集合
//创建学生对象
//添加学生对象到集合中
//遍历
ArrayList<Student> array = new ArrayList<>();
Student stu1 = new Student("dejavu",20);
Student stu2 = new Student("Key.L",28);
Student stu3 = new Student("DamnShine",29);
Student stu4 = new Student("KongFu-Pen",26);
array.add(stu1);
array.add(stu2);
array.add(stu3);
array.add(stu4);
for(int i = 0; i<array.size(); i++){
Student s =array.get(i);
System.out.println("Name:"+s.getName()+" "+"Age:"+s.getAge());
}
}
}
Demo:遍历学生对象PLUS
package ArrayList;
/*
学生类
*/
public class Student {
private String name;
private String age;
//定义构造方法
public Student() {
}
public Student(String name, String age) {
this.name = name;
this.age = age;
}
//定义set()、get()方法
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(String age) {
this.age = age;
}
public String getAge() {
return age;
}
}
package ArrayList;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentTest {
public static void main(String[] args) {
//创建集合对象
//键盘键入数据
//创建学生对象并且调用set方法将键入数据导入学生对象
//将学生对象加到集合当中
//遍历
// ArrayList<Student> s = new ArrayList<Student>();
//
// Scanner sc = new Scanner(System.in);
// System.out.println("请输入学生姓名:");
// String name = sc.nextLine();
// System.out.println("请输入学生年龄:");
// String age = sc.nextLine();
//
// Student stu = new Student();
// stu.setName(name);
// stu.setAge(age);
//
// s.add(stu);
ArrayList<Student> array = new ArrayList<Student>();
addStudent(array);
addStudent(array);
addStudent(array);
for(int i=0;i<array.size();i++){
Student s1 =array.get(i);
System.out.println("Name:"+s1.getName()+" "+"Age:"+s1.getAge());
}
}
//定义方法键盘录入学生对象,并把录入数据传到学生对象中,再讲学生对象数据加到集合中。
public static void addStudent(ArrayList<Student> array){
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生年龄:");
String age = sc.nextLine();
Student stu = new Student();
stu.setName(name);
stu.setAge(age);
array.add(stu);
}
}