Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 컬렉션 요소를 검색할 수 있는 방법은 몇 가지입니까?

<시간/>

다음 세 가지 방법으로 컬렉션 개체의 내용을 검색할 수 있습니다.

각 루프에 대해 사용

foreach 루프 또는 향상된 for 루프를 통해 전체 컬렉션 개체를 순차적으로 탐색할 수 있습니다.

예시

import java.util.ArrayList;
public class RetrievingData {
   public static void main(String[] args) {
      ArrayList <String> list = new ArrayList<String>();
      //Instantiating an ArrayList object
      list.add("JavaFX");
      list.add("Java");
      list.add("WebGL");
      list.add("OpenCV");
      list.add("OpenNLP");
      list.add("JOGL");
      list.add("Hadoop");
      list.add("HBase");
      list.add("Flume");
      list.add("Mahout");
      list.add("Impala");
      System.out.println("Contents of the array list: ");
      for (String e: list)
         System.out.println(e);
   }
}

출력

Contents of the array list:
JavaFX
Java
WebGL
OpenCV
OpenNLP
JOGL
Hadoop
HBase
Flume
Mahout
Impala

반복자 사용

Java는 컬렉션 개체의 요소를 검색하기 위해 Iterator 및 ListIterator 클래스를 제공합니다.

  • hasNext() 이 인터페이스의 메서드는 컬렉션 개체에 다음 요소가 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

  • next() Iterator 및 ListIterator의 메서드는 컬렉션의 다음 요소를 반환합니다.

이 두 가지 방법을 사용하여 반복자 개체에서 내용을 검색할 수 있습니다.

  • 마찬가지로 이전() ListIterator의 메서드는 컬렉션의 이전 요소를 반환하고 hasPrevious()는 현재 컬렉션 개체에 이전 요소가 있는지 여부를 확인합니다.

Iterator 및 ListIterator() 메서드를 사용하여 컬렉션의 Iterator 또는 ListIterator 개체를 가져올 수 있습니다.

예시

import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
public class RetrievingData {
   public static void main(String[] args) {
      ArrayList <String> list = new ArrayList<String>();
      //Instantiating an ArrayList object
      list.add("JavaFX");
      list.add("Java");
      list.add("WebGL");
      list.add("OpenCV");
      list.add("OpenNLP");
      list.add("JOGL");
      list.add("Hadoop");
      list.add("HBase");
      list.add("Flume");
      list.add("Mahout");
      list.add("Impala");
      System.out.println("Contents of the array list (first to last): ");
      Iterator it = list.iterator();
      while(it.hasNext()) {
         System.out.println(it.next());
      }
      System.out.println("Contents of the array list (last to first): ");
      ListIterator lit = list.listIterator();
      while(lit.hasNext()) {
         lit.next();
      }
      while(lit.hasPrevious()) {
         System.out.println(lit.previous());
      }
   }
}

출력

Contents of the array list (first to last):
JavaFX
Java
WebGL
OpenCV
OpenNLP
JOGL
Hadoop
HBase
Flume
Mahout
Impala
Contents of the array list (last to first):
Impala
Mahout
Flume
HBase
Hadoop
JOGL
OpenNLP
OpenCV
WebGL
Java
JavaFX

열거 사용

열거 클래스에는 hasMoreElements()라는 메서드가 포함되어 있습니다. 현재 객체가 현재 위치 뒤에 더 많은 요소를 포함하면 true를 반환합니다(그렇지 않으면 false를 반환).

Enumeration 클래스의 nextElement() 메서드를 호출하면 현재 열거 객체의 다음 요소를 반환합니다.

이 두 가지 방법을 사용하여 컬렉션 개체의 내용을 검색할 수 있습니다.

예시

import java.util.Enumeration;
import java.util.Vector;
public class EnumerationExample {
   public static void main(String args[]) {
      //instantiating a Vector
      Vector<Integer> vec = new Vector<Integer>( );
      //Populating the vector
      vec.add(1254);
      vec.add(4587);
      vec.add(5211);
      vec.add(4205);
      vec.add(1124);
      vec.add(8115);
      //Retrieving the elements using the Enumeration
      Enumeration<Integer> en = vec.elements();
      while(en.hasMoreElements()) {
         System.out.println(en.nextElement());
      }
   }
}

출력

1254
4587
5211
4205
1124
8115