이 질문에는 이미 답변이 있습니다.
자, 배열이 { "tube", "are", "fun"}로 채워져 있다고 가정하고 JTextField를 가지고 있고 그 명령 중 하나를 입력하면 무언가를 수행하고 " 명령어를 찾을수 없음".
나는 자바 문서를보고 노력했지만, 내가 얻는 것은 질문과 물건처럼 싶지 않은 것들이다. 그래서, 어떻게이 일을 하는가? 나는 "배열로"함수가 있다는 것을 알고 있지만 두 가지를 결합하는 것은 너무 좋지 않습니다.
감사.
여기 내가 지금까지 가지고있는 것이있다.
String[] dan = {"Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue"};
boolean contains = dan.contains(say.getText());
하지만 dan.contains에서 기호를 찾을 수 없습니다.
이것이 당신이 찾고있는 것입니다 :
List<String> dan = Arrays.asList("Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue");
boolean contains = dan.contains(say.getText());
목록이있는 경우되풀이되지 않는값을 사용하고Set<String>
같은 것을 가지고있다.포함하다방법
이것은 Java 8에서 Stream을 사용하여 수행 할 수 있습니다.
import java.util.stream.Stream;
String[] stringList = {"Red", "Orange", "Yellow", "Green", "Blue", "Violet", "Orange", "Blue"};
boolean contains = Stream.of(stringList).anyMatch(x -> x.equals(say.getText());
asList
매개 변수화되지 않은 일반을 반환합니다. - John Henckel
배열의 값을 정렬 된 순서로 구성 할 수 있으면 다음을 사용할 수 있습니다.Arrays.binarySearch()
. 그렇지 않으면 루프와 선형 검색을 작성해야합니다. 배열에 커다란 (몇 개가 넘는) 문자열을 가질 계획이라면 Set을 대신 사용해보십시오.
#binarySearch
" 배열에 서로 비교할 수없는 요소 (예 : 문자열 및 정수)가 포함되어있는 경우 해당 요소의 자연 순서에 따라 정렬 될 수 없으므로 결과는 정의되지 않습니다. "하지 마라용도binarySearch
...에Integer
또는String
또는 많아야 부분적인 순서를 가질 수있는 요소 - Aleksandar Dimitrov
contains
배열에서Set
!!! - Stephen C