在这个程序中,我只想对ArrayList
words
. 到目前为止,我使用了Collections.sort
它,它已按字母顺序将所有行放在文本文件中。但是,我想为这个程序实现一个二进制搜索算法,但是,我认为如果不对数据进行排序(例如合并排序、冒泡排序)就不可能这样做。我可能错了,但这就是我来这里寻求指导和知识的原因。
其次,当我创建一个排序方法时,这是 a words
is a String
not an String[]
。然后如何使用这种数据类型进行冒泡排序?
public static void main(String[]args) throws IOException{
Scanner scan = new Scanner(System.in);
String stringSearch = scan.nextLine();
ArrayList<String> words = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new FileReader("File1.txt"));
String line;
while ((line = reader.readLine()) != null) {
words.add(line);
}reader.close();
Collections.sort(words);
for(String str:words)
System.out.println(str);
for(String sLine : words)
{
if (sLine.contains(stringSearch))
{
int index = words.indexOf(sLine);
System.out.println("Got a match at line " + index);
}
}
System.out.println(words.size());
}