2011-02-07 2 views
3

arrayList에서 5 ~ 10 사이의 위치를 ​​검색하는 것이 가능합니까?배열 목록의 일부에서 검색 - java

어떻게?

내가 위치 1-5, 5-10 사이의 검색 ...을 할 필요가이 경우

와 나는 다른 나열

편집을 피하려는 : 그

if (pp.move(i).subList(5, 10).contains(pn50.getText())) { 
같은 뭔가를

if (pp.move(i).suit().subList(5, 10).contains(pn50.getText())) { 

하지만 난 오류가 :

는하지만 난 같은 메서드를 호출 needto,이 코드에 문제가있는 메소드 하위 목록 (INT, INT)이 감사 String 형에 대한 정의입니다!

답변

5

필요한 작업 (비싼 작업은 아님)의 하위 목록을 가져온 다음 전체 목록을 검색 할 수 있습니다. 그래서 같이 :

if (myList.subList(0, 5).contains(objectToFind)) { 
    System.out.println("Found object between indexes 0 and 5"); 
} 

UPDATE :

String[] suitArray = pp.move(i).suit().split(","); 
List myList = List list = Arrays.asList(suitArray); 

을 그리고 첫 번째 사용 : 첫 번째리스트로 정장의 당신의 문자열을 변환하는 문자열이 쉼표로 구분되는 경우에, 당신은과 같이 그것을 할 수 있습니다 위의 코드를 점검하십시오. 이제 String에서 무언가를 검색하는 경우 목록으로 변환하지 않고 더 효율적으로 처리 할 수 ​​있습니다.하지만 이는 완전히 새로운 질문 일 것입니다. 이

+0

안녕하세요 Kenny, 답장을 보내 주셔서 감사합니다. 한가지 질문하십시오. 나는 더 많은 것을 필요로한다. 내 게시물 업데이트를 볼 수 있습니까? – user455318

+0

업데이트 된 코드가 무엇을 하려는지 이해하지 못합니다. suit()는 List가 아닌 String 객체를 반환하므로 subList()를 호출 할 수 없습니다. suit()에 의해 반환 된 String에 무엇이 있습니까? –

+0

하트, 클럽 등의 카드 정장 문자열 – user455318

0

하위 목록을 가져가도 괜찮습니까?

ArrayList.subList(fromIndex, toIndex); 

당신이 당신의 품목의 부분 집합이이 방법을 조작하고 여전히 "새로운"목록 (원본 목록을 수정합니다 하위 목록을 수정)

0

but i get an error: The method subList(int, int) is undefined for the type String thanks!!

은 당신의 suit() 방법은 String을 반환로 선언 할 때문이다.

+0

및 어떻게해야합니까? 문자열에 대한 – user455318

+0

감사의 오류를 방지하려면 subList가 아닌 부분 문자열을 사용하십시오. http://download.oracle.com/javase/6/docs/api/java/lang/String.html#substring(int, int) – Yuval