Lista enlazada
por ejemplo: conocido
class Student {
int id;int age;String name;
Student(int id,int age,String name){
this.id=id;
this.age=age;
this.name=name;
}
}
Cree una lista vinculada de objetos de tipo Student.
-
1. Importe el paquete:
- import java.util.ArrayList;
- import java.util.List; 2. Declaración:
- Lista lista = new ArrayList <> (); 3. Agregue elementos a la lista vinculada:
-
list.add (nuevo alumno (-1,25, "关羽"));
list.add (nuevo alumno (3,21, "Zhang Fei"));
list.add (nuevo alumno (2,18, "刘备" ));
list.add (nuevo Estudiante
(4,32, "袁绍")); list.add (nuevo Estudiante (-2,16, "曹操"));
4. Genere la identificación de todos los elementos en la lista vinculada:
-
para (Estudiante estudiante: lista) {
System.out.printf ("% d", estudiante.id);
}
5. Si desea generar toda la información, agregue un método a la clase Student:
-
public String toString () {
return name + ", id =" + id + ", age =" + age;
}
Código:
import java.util.ArrayList;
import java.util.List;
public class Main{
public static void main(String args[]) {
List<Student> list=new ArrayList<>();
list.add(new Student(-1,20,"赵今今"));
list.add(new Student(3,21,"陆峥"));
list.add(new Student(2,18,"庞贝"));
list.add(new Student(4,24,"喻幸"));
list.add(new Student(-2,18,"苏盛夏"));
list.add(new Student(5,22,"冷夜辰"));
System.out.println("排序前:");
for(Student student:list) {
System.out.printf("%d ",student.id);
}
System.out.println();
System.out.println();
for(Student student:list) {
System.out.println(student.toString());
}
}
}
class Student implements Comparable<Student>{
int id;int age;String name;
Student(int id,int age,String name){
this.id=id;
this.age=age;
this.name=name;
}
@Override
public int compareTo(Student o) {
// TODO 自动生成的方法存根
return this.id-o.id;
}
public String toString() {
return name +",id=" + id +", age=" + age ;
}
}
resultado:
Ordenar por una cierta cantidad (Collection.sort (lista);)
por ejemplo: Clasifique y envíe a los estudiantes por id.
Sobre la base de la lista enlazada anterior:
-
1. Importe el paquete:
- import java.util.Collections; 2. Implemente la interfaz:
-
estudiante de clase
implements Comparable<Student>
3. Vuelva a escribir el método en la interfaz:
-
public int compareTo (Student o) {
return this.id-o.id;
} // ordena la salida de acuerdo con la identificación, si la salida de acuerdo con otra cantidad, solo cambia
4. Método de llamada:
- Collections.sort (lista); 5. Información de salida de todos los objetos de tipo Student en la lista vinculada:
-
para (Estudiante estudiante: lista) {
System.out.println (estudiante.toString ());
}
el código se muestra a continuación:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main{
public static void main(String args[]) {
List<Student> list=new ArrayList<>();
list.add(new Student(-1,20,"赵今今"));
list.add(new Student(3,21,"陆峥"));
list.add(new Student(2,18,"庞贝"));
list.add(new Student(4,24,"喻幸"));
list.add(new Student(-2,18,"苏盛夏"));
list.add(new Student(5,22,"冷夜辰"));
System.out.println("排序前:");
for(Student student:list) {
System.out.printf("%d ",student.id);
}
System.out.println();
for(Student student:list) {
System.out.println(student.toString());
}
Collections.sort(list);
System.out.println();
System.out.println("排序后:");
for(Student student:list) {
System.out.printf("%d ",student.id);
}
System.out.println();
for(Student student:list) {
System.out.println(student.toString());
}
}
}
class Student implements Comparable<Student>{
int id;int age;String name;
Student(int id,int age,String name){
this.id=id;
this.age=age;
this.name=name;
}
@Override
public int compareTo(Student o) {
// TODO 自动生成的方法存根
return this.id-o.id;
}
public String toString() {
return name +",id=" + id +", age=" + age ;
}
}
resultado: