2017-01-10 77 views
-7

我有arraylist的字符串,我需要找到在同一arraylist中的項目之間的子串?如何獲得substring項在java中的arraylist

例如:

ArrayList<String> ar = new ArrayList(); 
ar.add("UserId"); //adding item to arraylist 
ar.add("Directory"); 
ar.add("Username"); 
ar.add("PhoneNumber"); 

在這裏,我想找到項目的子,基本上我需要爲用戶ID輸出,並從用戶名列表項。我怎麼能做到這一點可以有人幫助我。

+0

我不知道你想什麼,在這裏完成,但你可以在數組列表,甚至過濾器使用foreach,所以你只有你所需要的 –

+0

@Rampraksh:我的ArrayList將動態值,所以從這些值列表我需要找到其中的子串。 – sharan

回答

2

你有兩種方法:

ArrayList<String> ar = new ArrayList(); 
    ar.add("UserId"); //adding item to arraylist 
    ar.add("Directory"); 
    ar.add("Username"); 
    ar.add("PhoneNumber"); 

    // approach one using iteration 
    for (Iterator<String> it = ar.iterator(); it.hasNext();) { 
     String f = it.next(); 
     if (f.equals("UserId")) 
      System.out.println("UserId found"); 
    } 

    // approach two using a colletion which supports fetching element by key 
    Map<String,String> myMap=new HashMap<>(); 
    for(String strg:ar){ 
     myMap.put(str,str); 
    } 

    String result=myMap.get("UserId"); 

如果你重複元素(例如幾個「用戶ID」元素),你可以使用支持包(套具有重複elemets)的集合,例如番石榴mutiset

+0

在你的第二個問題中,你把'str,str'放在未定義的變量中。另外,地圖的要點是什麼?爲什麼把相同的對象作爲鍵和值,然後使用它來檢索自己?林困惑...... –

+0

@fillpant我們需要一個集合,可以爲我們提供按名稱檢索要素的功能,JAVA設定的劑量不會提供這樣的功能,所以我們必須使用一些其他的東西,如地圖 –

+0

嗯以及ArrayList中有方法'的indexOf(對象的值)'和'包含(對象值)'這可能做的伎倆,但我仍然沒有得到在使用相同的密鑰puting值的點,然後retreiving呢?我的意思是,如果我有一個字符串,如'「你好」'什麼在地圖上像puting中的點:'map.put(「你好」,「你好」)',然後使用'map.get retreiving它( 「你好」)'返回''你好「''? :S主要是由於curiocity xD引起的 –