java中ArrayList的概念和用法


 

一.簡介

Java.util.ArrayList類是一個動態數組類型,可以隨時從鏈表中添加或刪除一個元素。ArrayList實現了List接口並且可以動態改變大小的。當我們不知道數據元素的個數時,就可使用ArrayList;如果知道數據元素個數,就可以直接用數組。

二.實現

List<String> lists = new ArrayList<String>();(其中的String可以改為integer,double等類型)

注:ArrayList對象只能存放對象,不能存放基礎數據類型的數據。

三.構造函數

ArrayList中定義了三種構造方法

1.ArrayList()----------------構造了空的鏈表。

2.ArrayList(Collection<? extends E> c)------構造了一個包含指定元素集合的鏈表,字符E是一個標記,用來表示集合中元素的類型。

3.ArrayList(int initialCapacity)---------構造了一個大小確定但內容為空的鏈表。initialCapacity參數表示初始容量大小。

四.常用的一些方法

1.添加元素

(1)在List尾部添加元素

void add(E element);

(2)在指定位置添加元素

void add(int index, E element);

(3)插入其他集合全部的元素
Boolean ArrayList(int index, Collection<? extends E> c);

2.刪除元素

(1)刪除所有元素

void clear();

(2)刪除指定元素

E remove(int index);

(3)刪除從某一個位置開始到某一個位置結束的元素

protected void removeRange(int start, int end);

3.修改元素

E set(int index, E element);

4.獲取(查詢)元素

(1)查詢指定范圍內的元素

List subList(int fromIndex, int toIndex);

(2)查詢指定位置的元素

E get(int index)

(3)查詢元素位置

int indexOf(Object a);----輸出list集合中第一次出現a的位置,若list集合中沒有a對象,則返回-1

lastIndexOf(Object a);  ----輸出list集合中最后一次出現a的位置,若list集合中沒有a對象,則返回-1

(4)是否包含某個特定的元素

Boolean contains(Object a); 

 5.檢查該數組是否為空

boolean isEmpty();--返回true表示沒有任何元素。

6.獲取該數組的長度(包含元素的個數)

int size();

五.代碼實例

 1 package 日常練習;
 2 import java.util.*;
 3 public class ArrayListshili {
 4 public static void main(String[] args) {
 5     ArrayList<String> list=new ArrayList<String>();//實例化list
 6     
 7     //添加元素
 8     list.add(0,"a");//把"a"添加到list數組的第1個位置。
 9     list.add(1,"b");//把"b"添加到list數組的第2個位置。
10     list.add(2,"c");//把"c"添加到list數組的第3個位置。
11     list.add(3,"a");
12     list.add("d");//在list數組尾部添加"d"
13     
14     //輸出list數組中的數據
15     System.out.println("數組中包含的元素有:"+list);
16     
17     //修改元素
18     list.set(2,"h");//將第二個位置的數據改為"h"
19     
20     //刪除元素
21     list.remove(0);//刪除第“0”個位置上的元素
22     list.remove("c");//刪除第一次找到的“c”元素
23     System.out.println("新數組是:"+list);
24     
25     //查詢元素
26     List<String> wz=list.subList(0, 2);//查詢0-2中的元素
27     String wc=list.get(1);//查詢1處的元素
28     int n=list.indexOf("a");//a第一次出現的位置
29     int nl=list.lastIndexOf("a");//a最后一次出現的位置
30     System.out.println("0-2中的元素有:"+wz);
31     System.out.println("1處的元素為:"+wc);
32     System.out.println("是否包含e: "+ list.contains("e"));
33     System.out.println("a第一次出現的位置:"+n+"\t"+"a最后一次出現的位置:"+nl);
34     
35     //清空
36     System.out.println("list是否為空:"+list.isEmpty());
37     list.clear();
38     System.out.println("list是否為空:"+list.isEmpty());  }}

六.簡單應用

package 日常練習;


//已知數列前幾項為:1,1,1,3,5,9....從第四項起每一項為前三項之和,求用戶輸入項數所對應元素的后四位。
import java.awt.List;

import java.util.*;
public class 數列求值 {
public static void main(String[] args) {
    Scanner s=new Scanner(System.in);
    int n=s.nextInt();
    ArrayList<Integer> d=new ArrayList<Integer>();
    d.add(0,1);
    d.add(1,1);
    d.add(2,1);
    for(int i=3;i<n;i++)
    {
        d.add(i,(d.get(i-1)+d.get(i-2)+d.get(i-3))%10000);
    }
    System.out.println(d.get(n-1));
    
    
}
}

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM