按照JTextField的内容搜索arraylist - arraylist.contains(jtextfield)

时间:2011-12-04 19:06:37

标签: java search sorting arraylist jlist

目前,我正在尝试编写一个系统,该系统专注于将数据输入列表和arraylists,以及实现搜索和排序功能。

目前在我的系统上,我有:

用于存储数据的类 一个arraylist类,它从数据存储类中的对象获取数据。 最后是一个swing GUI类,它包含一个显示Arraylist的JList。

我要做的是使用JButton actionlistener搜索arraylist,然后将搜索结果输出到JList。

JButton将获取JTextField的内容,并检查该字符串是否存在于ArrayList中。

首先我的问题是,如何在arraylist类中创建搜索函数,并在单独的类中调用JTextField的内容?

其次,在我可以在arraylist上调用.contains方法之前,是否需要将jtextfield转换为字符串?

第三,一旦实现了搜索功能,如果搜索到的文本存在,我将如何从arraylist中选择一条记录

这是我的数据存储类: http://pastebin.com/hwyD8r1j

我的arraylist课程: http://pastebin.com/d3ftLsJb

我不希望你们为我写这些,虽然那会很好,哈哈。

但是我会很感激任何关于如何在我的arraylist中实现此功能的指示或见解,

哦,如果你需要我发布我的GUI课程,请问。

1 个答案:

答案 0 :(得分:3)

在JTextField上调用'getText'以获取他们输入的字符串。你基本上会做类似以下的事情。

// Somehow you've initialized your array list
List<String> data = ...;

// within your action listener - invoked when the button is clicked.  You'll need to
// make sure the textField is "final"
String selected = textfield.getText();
// Linear search through your strings for one matching your text
for (String datum : data) {
  if (selected.contains(datum)) {
    // do whatever you want here; you found a match
  }
}