【发布时间】:2017-01-21 19:40:16
【问题描述】:
我正在尝试按学生姓氏升序对列表进行排序并显示列表,但我想删除返回 null 的 [, ]。有没有办法让我看不到。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class StudentTest {
public static void main(String args[]) {
List<Student> list = new ArrayList<Student>();
list.add(new Student(" Gracia", "50","\tCOP2250, COP3250, COP4250"));
list.add(new Student(" Jones", "30", "\tCOP1210, COP3337, COP3530"));
list.add(new Student(" Smith", "10", "\tCOP2250, COP3250, COP4250"));
list.add(new Student(" Wilson", "20", "\tWNC1105, ENC3250, REL2210"));
list.add(new Student(" Braga", "10", "\tENC1105, ENC3250, ISO4250"));
list.add(new Student(" Adams", "20", "\tWNC1105, ENC3250, REL2210"));
list.add(new Student(" Giron", "60","\tCOP1210, COP3337, COP3530"));
list.add(new Student(" O'Neal", "45","\tENC1105, ENC3250, REL2210"));
list.add(new Student(" Ervin", "40", "\tENC1105, COP3250, ISO4250"));
list.add(new Student(" Bourne", "70","\tCOP2250, ENC3250, COP3530"));
System.out.println(list);
Collections.sort(list);
System.out.println(list);
}
}
class Student implements Comparable<Student> {
public Student(String name, String id, String course) {
this.name = name;
this.id = id;
this.course = course;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCourse() {
return course;
}
public Student(String course) {
this.course = course;
}
private String name;
private String id;
private String course;
@Override
public int compareTo(Student student) {
return name.compareTo(student.name);
}
@Override
public String toString() {
System.out.println("" + id + name + course );
return "";
}
}
输出如下:
10 史密斯 COP2250、COP3250、COP4250
20 威尔逊 WNC1105、ENC3250、REL2210
10 布拉加 ENC1105、ENC3250、ISO4250
20 亚当斯 WNC1105、ENC3250、REL2210
60 吉隆 COP1210、COP3337、COP3530
45 奥尼尔 ENC1105、ENC3250、REL2210
40 欧文 ENC1105、COP3250、ISO4250
70 伯恩 COP2250、ENC3250、COP3530
[, , , , , , , , , ]
为什么我会收到这条线?
[, , , , , , , , , ]
感谢您的帮助!
【问题讨论】:
-
请澄清一下,“我想删除返回 null 的 [, ]”是什么意思。
-
当然...正确地遍历 list 数组。尝试使用 for 循环。
-
输出如下:20 ADAMS WNC1105,ENC3250,REL2210 70 BOURNE COP2250,ENC3250,COP3530 10 BRAGA ENG1105,ENC3250,ENC3250,ISO4250,ISO4250 40 40 ERVIN EFFIN EFFIN EFFIN EFC3250,COP337 GRIRECIIRE COP11210 GRAC COP11210,ISO4220,GRAC,ISO4220,GRAC,ISO4220,GIRRAC,ISO 4220,C orrac COPIIRE, COP2250, COP3250, COP4250 30 琼斯 COP1210, COP3337, COP3530 45 奥尼尔 ENC1105, ENC3250, REL2210 10 史密斯 COP2250, COP3250, COP4250 20 威尔逊 WNC1105, ENC3250, REL2210 [, , , , , ]]
-
我也不确定你想要什么,但对象上的
toString方法的重点是返回一个字符串表示而不打印它,然后返回""。也许考虑更改它以返回数据而不是打印它。更多信息可以查看the documentation
标签: java list sorting arraylist brackets