我在面试中被要求从列表中删除重复的学生对象,其中学生对象可能包含不同的属性,条件是我不应该使用set或hashmap。
答案 0 :(得分:1)
对ArrayList进行排序并循环遍历。但是你如何定义重复的对象?相同的参考或具有相同的属性?
答案 1 :(得分:1)
这需要O(n * log(n))对列表进行排序,O(n)遍历排序列表。
因此,总运行时复杂度为O(n * log(n))+ O(n)= O(n * log(n))。
答案 2 :(得分:0)
您可以通过比较学生对象的参考来检查它。
答案 3 :(得分:0)
在列表中没有直接删除重复的方法。删除重复的最快方法是集合。在要删除重复的列表中,您将不得不重写hashcode()和equals()方法,然后必须迭代一个对象的整个列表。
答案 4 :(得分:0)
可能你的面试官试图将“java.util.Set”作为你的回答,不允许重复的对象。这是您可以期待的典型标准问题。