• [集合]List


    List

    存取有序,有索引,可以重复


    ArrayList去除集合中字符串的重复值(字符串的内容相同)

    public static void main(String[] args) {
        ArrayList list = new ArrayList();
        list.add("a");
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("b");
        list.add("c");
        list.add("c");
        list.add("c");
        list.add("c");
        
        System.out.println(list);
        ArrayList newList = getSingle(list);
        System.out.println(newList);
       }
       /*
        * 去除重复
        * 1,返回ArrayList
        * 2,参数列表ArrayList
        */
       public static ArrayList getSingle(ArrayList list) {
        ArrayList newList = new ArrayList();   //创建一个新集合
        Iterator it = list.iterator();     //获取迭代器
        while(it.hasNext()) {       //判断老集合中是否有元素
         String temp = (String)it.next();   //将每一个元素临时记录住
         if(!newList.contains(temp)) {    //如果新集合中不包含该元素
          newList.add(temp);      //将该元素添加到新集合中
         }
        }
        return newList;         //将新集合返回
       }
    

    通过分析源码,可以发现 contains()方法中也是用equals() 函数来判断的,而equals()方法,如果用来判断对象,会直接对比引用对象的地址,而不同对象的地址是不一样的,返回的结果总会是 true ,因此用来判断对象 要在 Person 类中重写 equals() 方法。

    总结: 

      contains() 和 remove() 方法中都是用 equals()方法来进行对比的,所以如果集合中存储的是对象,要重写 equals() 方法 

    LinkedList 基本方法

     * LinkedList 基本方法 
    public static void main(String[] args) {
    	LinkedList list = new LinkedList();
    	list.add("e");
    	list.add("e");
    	list.add("e");
    	list.add("e");
    	list.addFirst("k");
    	list.addLast("z");
    	System.out.println(list);
    	System.out.pr intln(list.getFirst());
    	System.out.println(list.getLast());
    	System.out.println(list.removeLast());
    	System.out.println(list.getLast());
    	System.out.println(list.removeFirst());
    	System.out.println(list);
    	System.out.println(list.get(0));         //取得索引位置元素

    三种迭代的能否删除(掌握)
    * 普通for循环,可以删除,但是索引要--
    * 迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
    * 增强for循环不能删除
    

    Arrays工具类的asList()方法的使用(掌握)
    * A:案例演示
    	* Arrays工具类的asList()方法的使用
    	* Collection中toArray(T[] a)泛型版的集合转数组
    
    集合嵌套之ArrayList嵌套ArrayList(掌握)
    * A:案例演示
    	* 集合嵌套之ArrayList嵌套ArrayList

    好的 突然

  • 相关阅读:
    GUI学习笔记之一“Hello world”程序
    GDI和GUI的区别
    Convert.Int32、(int)和int.Parse三者的区别
    华为机试题汇总
    算法导论 第7章 课后习题
    算法导论 第8章 线性时间排序 课后习题
    算法导论 第21章 不相交集合的数据结构
    [转载]NIM(1) 一排石头的游戏
    算法导论 第22章 图论之拓扑排序
    编程珠玑第八章 算法设计艺术
  • 原文地址:https://www.cnblogs.com/gaoyang666/p/11188197.html
Copyright © 2020-2023  润新知