Java ArrayList搜索元素并输入到Jlist中

时间:2014-01-17 06:57:17

标签: java list jlist

我想编写arraylist的搜索功能。示例I搜索Simon,包含Simon的名称应显示在Jlist中,如下所示。我无法想象的部分是我应该检查的条件是什么以及我应该添加什么。

截图

enter image description here

主要

 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);  

}  

3 个答案:

答案 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);
        //...

    }

}