ArrayList поиск по выражению

Рейтинг: 0Ответов: 1Опубликовано: 14.04.2015

Код

import java.util.ArrayList;
import java.util.List;

import org.asteriskjava.manager.ManagerConnection;
import org.asteriskjava.manager.ManagerConnectionFactory;
import org.asteriskjava.manager.action.CommandAction;
import org.asteriskjava.manager.response.CommandResponse;



public class Manager
{
    private ManagerConnection c;

    public Manager() throws Exception
    {
        ManagerConnectionFactory factory = new ManagerConnectionFactory(
                "ip", "admin", "pass");
        c =  factory.createManagerConnection();
    }

    public void run() throws Exception
    {
        c.login();

        CommandAction action;
        CommandResponse response;
        List<String> list = new ArrayList<String>();


        action = new CommandAction();
        action.setCommand(" sip show peers");
        response = (CommandResponse) c.sendAction(action);

        list = response.getResult();
        int i = 0;
        while ( i <list.size())
        {

            System.out.println(list.get(i));


            i++;
        }

        c.logoff();
    }

    public static void main(String[] args) throws Exception
    {
        new Manager().run();
    }
}

Результат выполнения:

Name/username             Host                                    Dyn Forcerport ACL Port     Status      Description                      
4975/4975                 (Unspecified)                            D   a             0        UNKNOWN                                      
4986/4986                 (Unspecified)                            D   a             0        UNKNOWN                                      
5001/5001                 (Unspecified)                            D   a             0        UNKNOWN                                      
5002/5002                 (Unspecified)                            D   a             0        UNKNOWN                                      
6000/6000                 (Unspecified)                            D   a             0        UNKNOWN                                      
7777/7777                 (Unspecified)                            D   a             0        UNKNOWN                                      
9011/9011                 (Unspecified)                            D   a             0        UNKNOWN                                      
9012/9012                 (Unspecified)                            D   a             0        UNKNOWN  

Подскажите, каким способом можно вывести строку которая содержит например 4975?

Ответы

▲ 2Принят

Во-первых, в вашем случае целесообразнее использовать цикл вида for-each. Во-вторых, проверить содержит ли строка другую строку, можно с помощью метода contains. Вот пример:

for (String s : list) {
    if (s.contains("4975")) {
        System.out.println(s)
    }
}