简体   繁体   English

Java ArrayList搜索元素并输入到Jlist

[英]Java ArrayList search element and input into Jlist

I want to program a search function of the arraylist . 我想对arraylist的搜索功能进行编程。 Example I search for Simon, name that contains Simon should show up in the Jlist as shown below. 示例我搜索Simon,包含Simon的名称应显示在Jlist中,如下所示。 The part I couldnt figure is what is the condition should I check for and what should I be adding. 我无法确定的部分是应该检查的状况以及应该添加的内容。

Screenshot 屏幕截图

在此处输入图片说明

Main 主要

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

Button Action 按钮动作

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

}  

Try this: 尝试这个:

for(int i=0;i<al.size();i++)
    if(al.get(i).contains(value))
        listModel.addElement(al.get(i));

You could iterate over ArrayList elements: 您可以遍历ArrayList元素:

for (Object s : al) {
    if (((String)s).contains("Simon"))
        listModel.addElement(s);
}

PS: You can avoid cast stuff by defining a type for ArrayList : PS:您可以通过为ArrayList定义类型来避免ArrayList

List<String> al = new ArrayList<String>();

I think you mean something like this: 我认为您的意思是这样的:

String name = "Simon";
for(int k = 0; k = yourArraylist.size() - 1; k++) {

    if(yourArraylist.get(k).equals(name)) {.

        your_Jlist.add(name);
        //...

    }

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM