簡體   English   中英

在ArrayList的LinkedList中獲取值

[英]getting value in LinkedList in an ArrayList

int index = hash(value, size);

if (array.get(index).contains(value)) {
    return false;
}

Arraylist.get(未知來源)是我得到的錯誤。 我正在做的是檢查值是否存在於給定的數組索引的鏈表中,如果存在則返回false。

也是indexoutofbounds異常,它說“索引7:但數組大小為0”? 我用大小為50的元素調用了構造函數:

array = new ArrayList<LinkedList<String>>(50);

我認為您所缺少的是在ArrayLists中添加新的鏈接列表。

創建大小為50的arrayList時,尚未創建要訪問的LinkedList實例。

因此,除了構造函數中的內容之外,還應該具有以下內容:

for(int i=0;i<50;i++){
        array.add(i, new LinkedList<String>());
    }

您正在嘗試實現兩件事。

  1. 創建一個帶有嵌入式LinkedList的arraylist。
  2. 將arraylist的大小初始化為50。這並不意味着您已經在Arraylist的每個索引內初始化了LinkedList。 如果嘗試訪問array.get(index),它將拋出java.lang.IndexOutOfBoundsException。 因此,在使用此方法之前,請使用上面@ attaboy182提供的代碼初始化Arraylist中的50 LinkedList。

    for(int i = 0; i <50; i ++){array.add(i,new LinkedList()); }

初始化LinkedList之后,您可以使用您的代碼,它將不會引發任何錯誤。

int index = 0;
List array = new ArrayList<LinkedList<String>>(50);
for (int i = 0; i < 50; i++) {
    array.add(i, new LinkedList<String>());
}
((LinkedList) array.get(index)).add("anish");
((LinkedList) array.get(index)).add("barnwal");
System.out.println(((LinkedList)array.get(index)).contains("anish"));
System.out.println(((LinkedList)array.get(index)).contains("Jakkie"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM