黑马程序员技术交流社区

标题: java基础-arraylist类 linkedlist类 [打印本页]

作者: 磊子    时间: 2015-9-14 23:21
标题: java基础-arraylist类 linkedlist类
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();
                        }
                }






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2