2016-05-05 5 views
-4

私はユーザーが入力する名前を追加、削除、検索できるGUIを作成しています。 arraylistのアイテムを検索できるコードを知りたいです。あなたはarraylistのアイテムを検索するには?

+1

のJavaの本を拾うか、ドキュメント/チュートリアルをお読みください。 –

+0

ここではコードを書いておらず、このサイトのウェルカムページでそれを読んでいます(またはあなたが言ったようにメタルを持っている必要があります)。 –

+0

何かを実装しようとしましたか? StackOverflowを検索しようとしましたか? – Fjotten

答えて

1

あなたはそれが、リスト内の要素の最初の出現のインデックス位置を返します

Java.util.ArrayList.indexOf(Object) 

メソッドを使用することができますありがとうございます。

それとも

java.util.ArrayList.Contains(Object o) 

リスト内の指定された要素が利用可能な場合は、上記の方法は、trueを返します。あなたはここに、あなたがリスト表すストリームで検索する述語を使用してそれを行うことができます

0

は簡単な例です:

List<String> listOfUsersName = Arrays.asList("toto", "tata", "joe", "marou", "joana", "johny", ""); 

String userInputSearch = "jo"; 

List<String> result =listOfUsersName.stream() 
            .filter(user -> user.contains(userInputSearch)) 
            .collect(Collectors.toList()); 

result.forEach(System.out::println); 
+0

これはJava 8のみのためのものです。 – Sweeper

1

あなたの質問に十分な情報を提供しなかったので、私はいくつかの物事を作ります:

配列李の各項目について

:これは、あなたが検索アルゴリズムを実装しようとしている方法です

//This is your array list that you want to search in: 
private ArrayList<String> names = new ArrayList<>(); // Assume this is full of stuff 

//This is the user input 
private String userInput; 

//This method will be called when the search button is clicked 
public void onSearchClick() { 

} 

st。検索文字列が含まれている場合は、検索結果に追加します。

これはかなり意味がありますか?

private ArrayList<String> searchInList(ArrayList<String> list, String searchString) { 
    ArrayList<String> results = new ArrayList<>(); 
    for (item in list) { 
     if (item.contains(searchString)) { 
      results.add(item); 
     } 
    } 
    return results; 
} 

をそしてonSearchClick方法では、検索メソッドを呼び出し、その結果で何かを実行します。

コードでは、このことを書くでしょう。あなたは大文字と小文字を区別しない検索をしたい場合は

public void onSearchClick() { 
    ArrayList<String> searchResults = searchInList(names, userInput); 
    // display the results or whatever 
} 

、あなたはこれに検索方法でif文を変更することができます。

if (item.toLowercase().contains(searchString.toLowercase())) 
関連する問題