• [集合]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

    好的 突然

  • 相关阅读:
    【深入理解 Java 虚拟机】2. 自动内存管理
    【深入理解 Java 虚拟机】1. 走进 Java
    【JVM】体系结构和底层原理
    【JVM】JVM 入门与基础总结
    ios 个推推送集成
    iOS UIWebView 和 WKWebView 的 cookie 获取,设置,删除
    CUICatalog: Invalid asset name supplied: '(null)'
    iOS 警告收集快速消除
    ios 你必须了解的系统定义宏使用
    ios 开发常用函数
  • 原文地址:https://www.cnblogs.com/gaoyang666/p/11188197.html
Copyright © 2020-2023  润新知