zoukankan      html  css  js  c++  java
  • [集合]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

    好的 突然

  • 相关阅读:
    第五节13读取配置中的连接字符串 简单
    第五节 8_手机归属地查询案例 简单
    第五节 8登陆练习操作 简单
    第五节 21类型化DataSet 简单
    PHP XML操作类DOMDocument 简单
    第十节 1ASP.Net简介及学习方法 简单
    第五节 8注入漏洞与参数化查询 简单
    在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误............ 简单
    第五节 17DateStr 简单
    第五节 19可空数据类型 简单
  • 原文地址:https://www.cnblogs.com/gaoyang666/p/11188197.html
Copyright © 2011-2022 走看看