zoukankan      html  css  js  c++  java
  • 0基础学java_Java类集之ArrayList

    什么是类集?

    类集实际上就是动态的对象数组,与一般的对象不同,类集的对象内容可以随意扩充。

    Collection下面分为很多个接口,其中有个list接口,list接口可以存放任意的数据,而且list接口运行内容重复,list接口要比collection接口更强大,因为大量扩充了collection接口的操作。

    List接口:可以存放重复的内容

    set接口:不能存放重复的内容,所有的重复内容是靠hashcode和equals两个方法区分的

    Queue:队列接口

    SortedSet接口:可以对集合中的数据进行排序

    List接口常用子类—ArrayList,可以通过对象的多态性为List接口实例化。

    举例:向ArrayList集合之后添加数据

     1 package com.feimao.code;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Collection;
     5 import java.util.List;
     6 
     7 public class ArrayListDemo01 {
     8     public static void main(String args[]){
     9         List<String> l = new ArrayList<String>();
    10         Collection<String> c = new ArrayList<String>();
    11         l.add("feimao");
    12         l.add(0 , "yuzhubaobao");
    13         System.out.println(l);
    14         c.add("hello");
    15         c.add("world");
    16         l.addAll(c);
    17         System.out.println(l);
    18     }
    19 }
    20 
    21  

     举例:删除集合中的元素

     1 package com.feimao.code;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Collection;
     5 import java.util.List;
     6 
     7 public class ArrayListDemo01 {
     8     public static void main(String args[]) {
     9         List<String> l = new ArrayList<String>();
    10         Collection<String> c = new ArrayList<String>();
    11         l.add("feimao");
    12         l.add(0, "yuzhubaobao");
    13         l.add("taotao");
    14         System.out.println(l);
    15         l.remove("yuzhubaobao");
    16         l.remove(1);
    17         System.out.println(l);
    18     }
    19 }

    举例:删除数据

     1 package com.feimao.code;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Collection;
     5 import java.util.List;
     6 
     7 public class ArrayListDemo01 {
     8     public static void main(String args[]) {
     9         List<String> l = new ArrayList<String>();
    10         Collection<String> c = new ArrayList<String>();
    11         l.add("feimao");
    12         l.add(0, "yuzhubaobao");
    13         l.add("taotao");
    14         l.add("we");
    15         l.add("are a family");
    16         System.out.println("从前向后输出:" );
    17         for(int i = 0 ; i < l.size() ; i++){
    18             System.out.print(l.get(i) + "、");
    19         }
    20 
    21         System.out.println("从后向前输出:" );
    22         for(int j = l.size()-1 ; j >= 0 ; j--){
    23             System.out.println(l.get(j) + "、");
    24         }
    25     }
    26 }

     

       面试:Arraylist和linklist的区别,哪个读取数据更快?

    ArrayList和LinkedList的大致区别如下:
    1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
    2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 
    3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 

    ArrayList更适合读取数据,linkedList更多的时候适合添加或删除数据。

  • 相关阅读:
    c++常用库
    boost
    android
    UITableView 多选
    c++ 比较两个集合
    事件加不上的另一种原因
    ios多线程
    ubuntu android
    jna StdCallCallback 回调问题查证
    java
  • 原文地址:https://www.cnblogs.com/feimaoyuzhubaobao/p/9948539.html
Copyright © 2011-2022 走看看