ArrayList存储元素去重:
思路:
A:创建一个新的集合对象。
B:通过老集合获取一个迭代器对象,然后遍历老集合。
C:判断新集合中是否包含当前遍历到的元素,
如果包含,不添加,
如果不包含,就把该元素添加到新集合中。
自定义方法名:getSingle();
案例1:ArrayList存储字符串如何去除重复元素
案例2:ArrayList存储自定义对象如何去除重复元素
注意:对象的成员变量值相同,我们就认为他是同一个元素
示例:
自定义对象:用Person类来做,name,age属性
list.add(new Person("张三",25));
list.add(new Person("张三",25));
list.add(new Person("李四",26));
list.add(new Person("王五",27));
list.add(new Person("王五",27));
list.add(new Person("王五",27));
解题思路:
注意事项:
contains()方法判断集合中是否包含某个元素,或者remove()移除集合中的某个元素,这两个方法的底层都是调用了equals()方法,所以我们要在基本类(Person类)中重写equals()方法。
LinkedList:
void addFirst() 和 addLast() 添加
Object removerFirst() 和 removeLast(); 删除
Object getFirst() 和 getLast(); 获取
Object get(int index);
数据结构:
栈:先进后出。
队列:先进先出。
面试题:用LinkedList来模拟栈的数据结构。 1 2 3
思路:自己封装一个集合类,然后提供,进栈,出栈,判断栈结构是否为空三个方法就可以了。
class Stack{
private LinkedList list = new LinkedList();
//进栈
public void in(){
list.addLast();
}
//出栈
public Object out(){
list.removeLast();
}
//判断栈结构
public boolean isEmpty(){
list.isEmpty();
}
}
|
|