У нас есть текстовый файл Dictionary, который мы преобразовали в String [] simpleArray
Мы редко работаем с массивами, так что этот был за пределами нашей комфортной зоны
Он имеет 466552 элементов в этом формате 40 абактериальных
Когда мыпроверка слова с орфографической ошибкой происходит очень быстро
Когда мы возвращаемся к списку и проверяем правильность написания слова, которое мы использовали, ListIterator
Мы нашли результаты нечетными, исходя из условия поиска
Таким образом, мыпопытался использовать Java 8 Streams с фильтрами и лямбда
Вот результаты использования ListIterator с поиском "some"
кто-то когда-нибудь кто-нибудь, кто-то, кто-то, кто-то, Сомердейл, кто-то кувыркается
Сомерсет, Сомерсетшир, Сомерсвилль, что-то где-то когда-то
в некоторой степени, когда-то, где-то, кто-то
Вот результаты с использованиемListIterator с поисковым термином "someo" и "someon"
кто-то когда-нибудь
Вот результаты использования Steams с фильтрами и лямбда-выражения, поисковый термин "someon"
кто-то кто-то кто-то кто-то кто-то кто-то кто-то
Вопрос в том, что мы создали код ListIteratorправильно?
Пока код выполняется, он не дает надежных результатов
Мы будем признательны, если узнаем, что код потока может быть сконструирован иначе
Цельбыло добавить элементы в просмотр списка, пока результаты находятся в текстовой области
Мы не использовали просмотр списка раньше
}if(found != true){
for(indexSC = 0; indexSC < simpleArray.length;indexSC++){
if(simpleArray[indexSC].toLowerCase().contains(txtTest.getText().trim().toLowerCase())){
// array stream foreach filter results to textarea javafx
List<String> cs = Arrays.asList(simpleArray);
ArrayList list = new ArrayList<>();
cs.stream().filter(s -> s.startsWith("someon"))
//.forEach(System.out::println);
.forEach(list :: add);
String aL = list.toString();
System.out.println("!!!! aL "+aL);
String La = list.toString().replace("[", "").replace("]","").replace(",", " ");
System.out.println("@@@@ Stream "+La);
txaML.appendText(La);
txaML.appendText("\n");
//list.forEach(System.out::println);
ListIterator<String> listItr = cs.listIterator();
System.out.println("%%%% Second Find "+simpleArray[indexSC]+" At indexSC "+indexSC+" L "+simpleArray[indexSC].length());
txaML.clear();
while(listItr.hasNext()){
if(listItr.next().startsWith("someon")){
txaML.appendText(listItr.next());
txaML.appendText("\n");
//txaML.appendText(listItr.next().intern());
//txaML.appendText("\n");
System.out.println("!!!! ListIterator "+listItr.next());
//System.out.println("!!!!!! Next intern "+listItr.next().intern());
}
}