ArrayList 类相关例题
使用 ArrayList 类存储从控制台上录入的数据,直到输入 0 为止,然后用此类来实 现冒泡排序。代码如下
public class Arrylist实现冒泡排序 {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<>();
System.out.println("请录入数据:");
while (true) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
if (num == 0) {
break;
}
arrayList.add(num);
}
System.out.println(arrayList);
for (int i = 0; i < arrayList.size() - 1; i++) {// 冒泡排序的实现 比较次数为arrayList.size() - 1
for (int j = 0; j < arrayList.size() - i - 1; j++) {
Integer tmp;// 定义中间变量
if (arrayList.get(j).compareTo(arrayList.get(j + 1)) > 0) {// 比较两数的大小 大于0则说明前边的值大。这里可以根据大于0小于0来判断是升序还是降序
tmp = arrayList.get(j + 1);// 中间变量
arrayList.set((j + 1), arrayList.get(j));// set方法 使用后边的值替换前边的值
arrayList.set(j, tmp);
}
}
}
System.out.println(arrayList);
}
}
效果如下
定义学生类(Student)保存学生信息,学生信息包括学号(id)、姓名(name)、年龄 (age),使用 ArrayList 来保存学生信息,并迭代输出。
/**
*
* @author Swpu 功能描述: 定义学生类(Student)保存学生信息,学生信息包括学号(id)、姓名(name)、年龄 (age),使用
* ArrayList 来保存学生信息,并迭代输出。
*/
public class ArrayList集合的应用 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("\t\t请录入学生信息,当录入学号为0时结束");
int id;
ArrayList<Student> arrayList = new ArrayList<>();
while (true) {
Student stu = new Student();
System.out.print("学号:");
id = sc.nextInt();
if (id == 0) {//判断何时跳出循环
break;
}
stu.setId(id);
System.out.print("姓名:");
stu.setName(sc.next());
System.out.print("年龄:");
stu.setAge(sc.nextInt());
arrayList.add(stu);
// System.out.println(stu);
}
System.out.println("学生的信息如下");
System.out.println("学号\t姓名\t年龄");
for (int i = 0; i < arrayList.size(); i++) {//输出ArrayList的信息
System.out.println(
arrayList.get(i).getId() + "\t" + arrayList.get(i).getName() + "\t" + arrayList.get(i).getAge());
}
// arrayList.forEach(System.out :: println);另一种输出ArrayList的方法
}
}
class Student {
private Integer id;
private String name;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
运行效果如下: