2013-12-07 1 views
0

TreeSetStrings으로 채워져 있고 그 중 하나의 키가 세트 외부의 문자열로 시작하여 얻을 수 있는지 확인하고 싶습니다. 그 특정 키와 뭔가 그것을 (문자열에 넣어) 예를 들어 내 Stringtest 1 2 3이고 나는 test 1 2 세트에 key을 가지고 있는데 그것은 사실을 돌려줘야하고 열쇠를 말해줘. TreeSet을 사용하는 이유는 내 yaml 파일의 키를 읽는 데 대소 문자를 구분하지 않아야하기 때문입니다. 사용하기 전에 세트의 반복기를 사용했습니다.TreeSet의 키가 String으로 시작하는지 확인하고

Iterator<String> itr = myTreeSet.iterator(); 
while(itr.hasNext()) 
if (myString.startsWith(itr.next())){ } 

하지만 if 문을 true로 만든 키를 만들 수 없습니다. 당신은 정말 가까이있어

답변

2

... 그것은

if (myString.startsWith(itr.next())){ } 

는이 있어야한다 잘못이 라인의 - 키가 myString 시작해야하기 때문이다.

String theKey = null; 
while(itr.hasNext()) { 
    theKey = itr.next(); 
    if (theKey.startsWith(myString)) { 
    return theKey; 
    } 
} 
return null; 
+0

그래도 효과가 있었지만 그 사실을 실현하는 열쇠는 어떻게 얻을 수 있습니까? – Alex

+0

@Alex 발견 된 키를 반환하도록 편집되었습니다. –

0

나는 당신이 원하는 것을 얻을 확실하지 않다 :

Iterator<String> itr = myTreeSet.iterator(); 
while(itr.hasNext()) { 
    String myString = itr.next() 
    if (myString.startsWith(myString)){ 
     System.out.println(myString); 
    } 
} 
0

전화 부분 집합()가 반복보다 설정 트리에 더 적절한 방법이다.

myTreeSet.subSet(str, str + "\uffff") 
관련 문제