Существует ли конкретный способ проверить, не существует ли IP-адрес в массиве? Прямо сейчас у меня есть arraylist, который состоит из строк IP-адресов (например, «192.168.0.4» и т. Д.). После получения пакета я хотел бы проверить, принадлежит ли IP-адрес пакета в arraylist.Java: проверка наличия IP-адреса в списке массивов
Сначала я думал, что-то вроде этого будет достаточно:
for (int i = 0; i < myList.size(); i++)
{
if (packet.getAddress().equals(InetAddress.getByName(myList.get(i))))
{
System.out.println("this packet's IP address is in list");
}
else
{
System.out.println("this packet's IP address is not in list!");
}
Я думал, что другое заявление будет решить эту ситуацию, но я был неправ. Любые предложения будут оценены.
Вы ищете ['ArrayList # contains()'] (http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#contains (java.lang.Object))? – TheLostMind
Если вы планируете много искать, используйте вместо этого 'HashSet'. Это значительно ускорит работу, особенно если у вас много IP-адресов. – Glorfindel
Используйте коллекцию, основанную на хеше, для более быстрого поиска. –