【发布时间】:2015-06-10 05:13:43
【问题描述】:
我们如何从 StudentList 对象中删除重复的条目。在这里,我们可以根据输入顺序识别学生是否重复。
class Student
{
String name;
long phone;
String address;
boolean isActive;
Student(String name, long phone, String address, boolean isActive)
{
this.name = name;
this.phone = phone;
this.address = address;
this.isActive = isActive;
}
}
这是执行类。
class CollegeMgmt
{
public static void main(String s[])
{
ArrayList<Student> studentList = new ArrayList<Student>();
Student s1 = new Student("devid", 9898989898L, "Stainford d23", true);
studentList.add(s1);
Student s2 = new Student("sames", 9895555598L, "Stainford d23", true);
studentList.add(s2);
Student s3 = new Student("devid", 9898989898L, "Stainford d23", false);
studentList.add(s3);
Student s4 = new Student("devid", 9898989898L, "Stainford d23", false);
studentList.add(s4);
Student s5 = new Student("devid", 9898989898L, "Stainford d23", true);
studentList.add(s5);
}
}
我想知道哪种方法最适合从 studentList 中删除所有重复条目。 如果两个或多个条目相同,则在此处重复
Student s3 = new Student("devid", 9898989898L, "Stainford d23", false);
studentList.add(s1);
Student s4 = new Student("devid", 9898989898L, "Stainford d23", false);
studentList.add(s1);
这代表 isActive 位,如果在我们的列表中继续我们设置的相同位,则需要删除该对象。应该删除 s4 对象,不应删除其他对象。
【问题讨论】:
-
在那里他们显示删除字符串对象的重复项,这种方式不能应用于上述类型的问题。使用内部和外部循环我们可以删除。但是我想知道有没有其他方法?
-
@VinaySharma 这听起来很像您要求其他人做作业。你真的认为你从不尝试自己解决任务中学到更多吗?
-
不,这是不对的,我已经做到了,但我认为复杂性是 O(2n) 所以我想知道此类问题的最佳解决方案。
-
Jägermeister 对上述问题有什么想说的吗?我已经通过使用两个循环解决了这个问题。你有其他解决方案吗?
标签: java