zoukankan      html  css  js  c++  java
  • java学习笔记 ArrayList

    java中数组只能保存同一类对象,数组一旦在堆上new出,其长度是固定的不可改变,加上对其内容修改不易。
    集类的产生来解决这些限制,可以存放不同类的对象,并且长度不受限制,是动态的。
    集类拥有以下特性:1.集类框架是高性能的,对基本集类的实现四高效率的。2.这用框架允许不同类型的类集以相同的方式和高度
    互操作方式工作。3.类集是容易扩展和修改的。

    ArrayList类的add()方法:

     1 import java.util.Collection;
     2 import java.util.ArrayList;
     3 
     4 public class CollectionTest {
     5     public static void main(String[] args) {
     6         Collection a1 = new ArrayList();
     7         ArrayList a2 = new ArrayList();
     8         Collection a3 = new ArrayList();
     9         
    10         a1.add("A");
    11         a1.add("B");
    12         a3.add("Hello Word");
    13         
    14         a2.add("A");
    15         a2.add("B");
    16         a2.add(0,"C");
    17         
    18         System.out.println(a1);//result:[A,B]
    19         System.out.println(a2);//result:[C,A,B]
    20         
    21         a1.addAll(a3);
    22         a2.addAll(0,a3);
    23         
    24         System.out.println(a1);//result:[A,B,Hello Word]
    25         System.out.println(a2);//result:[Hello Word,C,A,B]
    26         
    27         //a1.addAll(0,a3);错误 无法将 Collection 中的方法 addAll应用到给定类型。
    28     }
    29 }
    30 
    31 /*
    32 1.ArrayList类中存放的对象是有顺序的,可以用add(int index,E element)等指定位置的扩充方法。
    33 
    34 */

    ArrayList类的remove()方法:

     1 import java.util.Collection;
     2 import java.util.ArrayList;
     3 
     4 public class Test {
     5     public static void main(String[] args) {
     6         ArrayList a1 = new ArrayList();
     7         
     8         a1.add("A");
     9         a1.add("B");
    10         a1.add("C");
    11         a1.add(0,"Word");
    12         a1.add(0,"Hello");
    13         
    14         System.out.println(a1);//[Hello,Word,A,B,C]
    15         
    16         System.out.println(a1.remove(0));//Hello
    17         System.out.println(a1);//[Word,A,B,C]
    18         
    19         a1.remove("Word");
    20         a1.add("D");
    21         a1.add("E");
    22         a1.add("F");
    23         for (int i = 0;i < a1.size();i++) {
    24             System.out.print(a1.get(i) + " ");    
    25         }
    26         //A,B,C,D,E,F
    27         System.out.println(" ");
    28     }
    29 }

     ArrayList的其他方法示例:

     1 import java.util.List;
     2 import java.util.ArrayList;
     3 
     4 public class Test {
     5     public static void main(String[] args) {
     6         List a1 = new ArrayList();
     7         List a2 = new ArrayList();
     8         List a3 = new ArrayList();
     9         a1.add("A");
    10         a1.add("B");
    11         a1.add("C");
    12         a1.add("Oracle");
    13         
    14         a2.add("A");
    15         a2.add("B");
    16         
    17         /*
    18         add(E);sublist();set();indexOf();lastIndexOf();isEmpty();clear();contains();containAll();
    19         
    20         */
    21         
    22         System.out.println(a1);//[A,B,C,Oracle]
    23         System.out.println(a2);//[A,B]
    24         
    25         System.out.println(a1.contains("Oracle"));//true
    26         System.out.println(a1.containsAll(a2));//true
    27         System.out.println(a1.contains("Oracle") ? "a1包含Oracle" : "a1不包含Oracle");//a1包含Oracle
    28         
    29         a3 = a1.subList(0,2);
    30         System.out.println(a3);//[A,B]  注意并不是3个数是2个数。到第2个位置,不包含第二个位置                                                                                                                          
    31         
    32         System.out.println(a1.indexOf("Oracle"));//3
    33         System.out.println(a1.lastIndexOf("A"));//0
    34         
    35         a1.set(2,"X");
    36         System.out.println(a1);//[A,B,X,Oracle]
    37         
    38         //System.out.println(a1.clear());错误:此处不允许使用 空 类型 @ArrayList的clear()方法定义为void的,没有返回值。
    39         System.out.println(a1.isEmpty());//false
    40         a1.clear();
    41         System.out.println(a1);//[]
    42         System.out.println(a1.isEmpty());//true
    43     }
    44 }
    45 
    46 /*
    47 1.注意集合中的 add();remove();set();都是在原有集合对象上的操作
    48 */
  • 相关阅读:
    A. Generous Kefa
    1031 骨牌覆盖
    1074 约瑟夫环 V2
    1073 约瑟夫环
    1562 玻璃切割
    Ants
    1024 矩阵中不重复的元素
    1014 X^2 Mod P
    1135 原根
    1010 只包含因子2 3 5的数
  • 原文地址:https://www.cnblogs.com/yhwsy/p/5716531.html
Copyright © 2011-2022 走看看