我想编写arraylist的搜索功能。示例I搜索Simon,包含Simon的名称应显示在Jlist中,如下所示。我无法想象的部分是我应该检查的条件是什么以及我应该添加什么。
public static ArrayList al = new ArrayList();
al.add("Alica Wonderland");
al.add("Bob Jr");
al.add("Simon Tay");
al.add("Simon Corbell");
al.add("Simon Flyman");
al.add("Simon Jr");
al.add("David Copper");
private void btnSearchActionPerformed(java.awt.event.ActionEvent evt) {
String value = txtSearch.getText();
listModel = new DefaultListModel();
JList ListAll = new JList(listModel);
if(al.contains(value)){
listModel.addElement(?Name that contains Simon?);
}
ListAll.setModel(listModel);
}
答案 0 :(得分:0)
试试这个:
for(int i=0;i<al.size();i++)
if(al.get(i).contains(value))
listModel.addElement(al.get(i));
答案 1 :(得分:0)
您可以迭代ArrayList
个元素:
for (Object s : al) {
if (((String)s).contains("Simon"))
listModel.addElement(s);
}
PS:您可以通过为ArrayList
定义类型来避免演员:
List<String> al = new ArrayList<String>();
答案 2 :(得分:0)
我认为你的意思是这样的:
String name = "Simon";
for(int k = 0; k = yourArraylist.size() - 1; k++) {
if(yourArraylist.get(k).equals(name)) {.
your_Jlist.add(name);
//...
}
}