8款酷炫的智慧手機控制玩具,你暗暗渴望!

JavaArrayList是一個通用的可調整大小的陣列。它提供了其他語言中陣列通常需要的大部分功能。在本文中,您將學習如何設定和使用arraylist。...

JavaArrayList是一個通用的可調整大小的數組。它提供了其他語言中數組通常需要的大部分功能。這些操作包括:使用索引訪問元素、添加、刪除和更新元素、動態重新調整大小、對元素進行迭代等。這些操作中的大多數都經過了專門調整,以用於一般用途。

howto-java-arraylist

還有一些其他類型的“數組”(實現列表接口的類,這是技術性的),它們是用於特殊目的的。其中包括:

  • LinkedList支持在中間索引處快速**和刪除。
  • Vector類似於ArrayList,但是同步的,適合於多線程應用程序中替代ArrayList。
  • 堆棧支持模擬後進先出列表的操作。它擴展了向量,因此是同步的。

ArrayList Class Hierarchy from Java Collecti***

這些特殊類不在本文的範圍內。但是,您將學習如何設置和使用通用JavaArrayList。

創建arraylist

創建ArrayList很簡單。可以使用無參數構造函數創建空ArrayList。這裡我們創建一個空的arraylist來保存字符串。

ArrayList alist = new ArrayList();

如果碰巧知道數組列表將包含多少項,則可以指定初始容量。這個初始容量只是內存分配的一個提示——arraylist並不侷限於容納指定數量的項。如果您知道並指定了初始容量,您可能會在性能上得到一點改進。

ArrayList alist = new ArrayList(20);

A new ArrayList with empty slots

填充arraylist

在末尾添加項目

填充arraylist相當容易。只需使用add()方法將單個項添加到arraylist的末尾。舉個例子:

ArrayList alist = new ArrayList();alist.add("apple");alist.add("banana");alist.add("cantaloupe");alist.add("orange");System.out.println(alist);# prints[apple, banana, cantaloupe, orange]

要查找arraylist中有多少項,請使用size()方法。

System.out.println("Number of elements in the arraylist: " + alist.size());# printsNumber of elements in the arraylist: 4

Adding Items to an ArrayList at the end.

在指定索引處添加項

要在任意索引處添加項嗎?將索引指定為第一個參數,並在該索引處添加項:

alist.add(3, "grapes");System.out.println(alist);# prints[apple, banana, cantaloupe, grapes, orange]

添加一堆項目

您也可以在Java集合層次結構中添加來自任何集合的項。ArrayList是一個名為List的特定類型。下面是一種從一組項目構造列表的方法(使用數組.asList())並將其添加到ArrayList。

List items = Arrays.asList("pear", "cherry");alist.addAll(items);System.out.println(alist);# prints[apple, banana, cantaloupe, grapes, orange, pear, cherry]

當然,您可以在這裡指定索引作為第一個參數,以添加從該索引開始的項。

訪問項目

一旦項目被添加到arraylist,我們如何再次訪問它們?

使用索引訪問

如果知道項的索引,可以使用get()方法檢索該索引處的元素。

String item = alist.get(2);System.out.println("Item at index 2 is: " + item);# printsItem at index 2 is: cantaloupe

正在查找項目

如果你不知道項目的索引怎麼辦?可以使用indexOf()檢查該項是否存在於數組中,並使用返回的索引檢索該項。

System.out.println(alist);int index = alist.indexOf("orange");if ( index < 0 ) System.out.println("Item \"orange\" not found");else System.out.println("Item \"orange\" found at index " + index);# prints[apple, banana, cantaloupe, grapes, orange, pear, cherry]Item "orange" found at index 4

如果項目不在arraylist中怎麼辦?當找不到項時,indexOf()方法返回-1。

index = alist.indexOf("grape");if ( index < 0 ) System.out.println("Item \"grape\" not found");else System.out.println("Item \"grape\" found at index " + index);# printsItem "grape" not found

迭代數組列表

當然,ArrayList最常見的用法是遍歷元素。這可以通過多種方式實現。我們在這裡展示幾個簡單的例子。

下面是迭代arraylist並提取項以進行某種處理的最簡單方法。

for (String fruit : alist) { System.out.println("Found fruit \"" + fruit + "\"");}# printsFound fruit "apple"Found fruit "banana"Found fruit "cantaloupe"Found fruit "grapes"Found fruit "orange"Found fruit "pear"Found fruit "cherry"

此代碼使用Java1.5中引入的Java增強For循環。在此之前,您可以使用迭代器對項進行迭代。當您需要在迭代過程中刪除元素時,也可以使用迭代器,如下例所示。(請注意,我們**了一個arraylist的副本並處理了該副本。)

ArrayList blist = new ArrayList(alist);for (Iterator iter = blist.iterator() ; iter.hasNext() ; ) { String fruit = iter.next(); if ( fruit.startsWith("c") ) iter.remove(); else System.out.println("Keeping \"" + fruit + "\"");}# printsKeeping "apple"Keeping "banana"Keeping "grapes"Keeping "orange"Keeping "pear"

替換項目

一旦添加了項目,我們需要一種方法來替換不需要的項目。可以使用set()方法和索引來完成這一點。

alist.set(5, "pineapple");System.out.println(alist);# prints[apple, banana, cantaloupe, grapes, orange, pineapple, cherry]

正在刪除項目

現在讓我們看看如何從arraylist中刪除項。如果您知道該項的索引(可能使用了上面描述的indexOf()),則可以對索引使用remove()方法。它返回刪除的元素。

String fruit = alist.remove(2);System.out.println("Removed element at 2: " + fruit);# printsRemoved element at 2: cantaloupe

您還可以指定要刪除列表中第一個出現的元素的元素。如果找到並刪除了元素,則該方法返回true。

fruit = "grapes";System.out.println("Remove " +fruit+ " from the list? " + alist.remove(fruit));# printsRemove grapes from the list? true

你是如何在你的項目中使用ArrayList的?你遇到了哪些特殊問題?請在下面的評論中告訴我們。

  • 發表於 2021-03-13 20:41
  • 閱讀 ( 51 )
  • 分類:程式設計

你可能感興趣的文章

ipad pro最有用的智慧鍵盤提示和技巧

... 如果你正在為你的iPad Pro尋找酷炫的配件,不妨看看以下十大必備品: ...

  • 發佈於 2021-03-12 00:05
  • 閲讀 ( 62 )

11款酷炫小玩意,出門不帶

科技愛好者知道電子產品如何增強你的日常工作。但有什麼值得和你一起旅行呢?以下是改變你快節奏生活的產品。 ...

  • 發佈於 2021-03-12 08:28
  • 閲讀 ( 55 )

8款酷炫的智慧手機控制玩具,你暗暗渴望!

JavaArrayList是一個通用的可調整大小的陣列。它提供了其他語言中陣列通常需要的大部分功能。這些操作包括:使用索引訪問元素、新增、刪除和更新元素、動態重新調整大小、對元素進行迭代等。這些操作中的大多數都經過了...

  • 發佈於 2021-03-13 20:41
  • 閲讀 ( 51 )

15款酷炫的chrome益智遊戲和腦筋急轉彎遊戲

快速連結 數字遊戲 麻將遊戲 配對遊戲 滑動拼圖 文字遊戲 拼圖遊戲 腦筋急轉彎 我們錯過了哪些益智遊戲? ...

  • 發佈於 2021-03-14 03:48
  • 閲讀 ( 53 )

15款酷炫工具,方便費用跟蹤和預算編制

如果你身陷債務泥潭,最有效的辦法就是開始跟蹤你的開支。這樣想:如果你的獨木舟正在下沉,你不先找到漏洞嗎?你必須先堵住這個洞,然後才能開始把積水撈出來。 ...

  • 發佈於 2021-03-16 12:30
  • 閲讀 ( 61 )

8款適用於新父母和準父母的必備手機應用

...在他們的訂單上獲得免費、快速的交付(再加上大量其他酷炫的Prime優惠)。 ...

  • 發佈於 2021-03-20 19:11
  • 閲讀 ( 60 )

機器人能用你的照片做什麼?5款酷炫的基於人工智慧的照片編輯應用

多年來,科幻小說告訴我們人工智慧的奇蹟。今天,這些圖片編輯應用程式展示了人工智慧如何為我們改變事物的酷的可能性。 ...

  • 發佈於 2021-03-22 11:27
  • 閲讀 ( 51 )

mozilla製作:firefox開發者提供的5款酷炫應用和工具

Mozilla是Firefox的代名詞,Firefox仍然是世界上最好的瀏覽器之一。但如今在Mozilla還有很多事情要做,從酷炫的移動應用到探索和保護網際網路。過來看。 ...

  • 發佈於 2021-03-24 07:30
  • 閲讀 ( 59 )

16個基本的iphone鍵盤、文字和其他快捷鍵

...手很難使用iPhone,那麼可達性是一個很好的解決方案。這款酷炫的iPhone快捷鍵將螢幕的上半部分拉下來,這樣你就可以夠到它,而無需拉伸太遠。 ...

  • 發佈於 2021-03-30 18:01
  • 閲讀 ( 56 )

10款酷炫的兒童數學遊戲

一提到數學就足以讓全世界的成年人感到恐懼。對成千上萬的人來說,一想到要做年度納稅申報、申請抵押貸款,甚至只是幫孩子做作業,都會讓他們汗流浹背,奔向最近的計算器。 ...

  • 發佈於 2021-03-30 20:37
  • 閲讀 ( 56 )
深海深瀾_
深海深瀾_

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦