2011-10-19 2 views
1

좋아, 그래서 나는 LinkedList가 있고, 나는 String을 가지고있다. 문자열이 LinkedList 요소 중 하나에 포함되어 있는지 확인하고 싶습니다. 예를 들어 : "만세"자바 : 문자열이 LinkedList 요소의 일부인지 확인하는 방법은 무엇입니까?

String a = "apple"; 
String listelement = "a bunch of apples"; 
LinkedList list = new LinkedList(); 
list.add(listelement); 
if(list.containsany(a){ 
    System.out.println("Hooray!"); 
} 

인쇄 초래

분명히 list.containsany는 실제 LinkedList 메서드가 아니므로이 용도로 사용하고 있습니다.

그럼 예제를 어떻게 시뮬레이트 할 수 있습니까?

감사

답변

9
String a = "apple"; 
String listelement = "a bunch of apples"; 
List<String> list = new LinkedList<String>(); 
list.add(listelement); 
for(String s : list){ 
    if(s.contains(a)){ 
    syso("yes"); 
    } 
} 

이 노드가 특정 문자열을 포함 찾기 위해, 그것을해야, 당신은 모든 노드를 반복해야합니다. 인스턴스가 1 개만 있으면 루프를 중단 할 수 있습니다.

또한 Generics를 사용하려고합니다. 코드를보세요. 그렇지 않으면 노드를 String으로 형변환해야합니다.

+0

연결된 목록에 문자열과 개체가있는 경우이 방법이 효과가 있습니까? –

+0

+1 질문을 읽고 있습니다. :) –

+1

이것은 하나의 문자열에서만 작동합니다. 오브젝트를 사용하고 있다면, 그것을 캐스팅해야합니다. 'LinkedList ' – DarthVader

1
String a = "apple"; 
    String listelement = "a bunch of apples"; 
    LinkedList<String> list = new LinkedList<String>(); 
    list.add(listelement); 
    Iterator<String> li = list.iterator(); 
    while (li.hasNext()) { 
     if (li.next().contains(a)) { 
      System.out.println("Hooray!"); 
     } 
    } 
0

당신은 목록을 통해 반복하고 문자열했다 있는지 확인하기 위해 각 노드의 값을 확인해야합니다. 연결된 목록의 모든 멤버가 문자열이어야한다는 것을 보장 할 수 있으면 Java의 Generics를 사용하여 모든 문자열을 강제로 문자열로 지정할 수 있습니다.

 /* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package javaapplication1; 

import java.util.LinkedList; 

public class JavaApplication1 { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     String a = "apple"; 
     String listelement = "a bunch of apples"; 
     LinkedList<String> list = new LinkedList<String>(); 
     list.add(listelement); 
     list.add(new String("boogie")); 
     for (String s : list) { 
      if (s.contains(a)) { 
       System.out.println("yes," + s + " contains " + a); 
      } else { 
       System.out.println("no," + s + " does not contain " + a); 
      } 
     } 
    } 
} 
+0

이것은 완벽합니다! 하나의 질문이지만, "for"문은 LinkedList에 요소가없는 경우 "else"를 수행하지 않습니다. 이게 내가 고칠 수있는거야? – Blackvein

+0

물론, 목록의 크기가 0인지를 확인하는 if 문에서이를 감싸고 그 경우에는 적절한 것을 인쇄하십시오. (이것에 대한 도움이 필요하면, Javadocs는 당신의 친구입니다) –

관련 문제