2017-01-10 9 views
-7

У меня есть arraylist строк, мне нужно найти подстроки среди предметов в одном и том же массиве?Как получить элементы подстроки с помощью arraylist в java

Например:

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

Здесь я хочу найти подстроку пунктов, в основном мне нужно вывод, как UserId и имя пользователя из элементов списка. как я могу это сделать, может кто-то мне помочь.

+0

Я не уверен, что вы пытаетесь выполнить здесь, но вы можете использовать foreach на arraylist или даже фильтры, поэтому у вас есть только то, что вам нужно. –

+0

@Rampraksh: у моего arraylist будут динамические значения, поэтому из этих значений i нужно найти подстроку среди них, что она. – 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"); 

Если повторяющийся элемент (например, несколько элементов «UserId»), вы можете использовать коллекции, которые поддерживают пакеты (наборы с повторяющимся elemets), например гуавами mutiset

+0

В вашем втором aproach вы помещаете 'str, str' в карту, которые являются неопределенными переменными. Также, какова точка карты? зачем ставить тот же объект, что и ключ, и значение, а затем использовать его для самого себя? Im confused ... –

+0

@fillpant нам нужна коллекция, которая может предоставить нам функциональность для извлечения элементов по имени, java set dose не обеспечивает такую ​​функциональность, поэтому нам нужно использовать что-то еще, например, карту –

+0

Хм хорошо ArrayList имеет метод 'indexOf (значение объекта)' и 'содержит (значение объекта)', которое могло бы сделать трюк, но все же я не получаю смысл вставлять значение с одним и тем же ключом, а затем возвращать его? Я имею в виду, если у меня есть String, например '' Hello '', то какой смысл вставлять на карту, например:' map.put («Hello», «Hello»), а затем возвращать ее с помощью 'map.get ("Hello") ', который возвращает' "Hello" '? : S В основном спрашивают из-за любопытства xD –

 Смежные вопросы

  • Нет связанных вопросов^_^