为什么 ListIterator 与 Stream 有何不同

我们有一个字典 txt 文件,我们转换为 String[ ] simpleArray
我们很少使用数组,所以这个超出了我们的舒适区
它有 466552 个这种格式的项目 40 个细菌
当我们检查拼写错误的单词时,它的速度非常快
当我们去返回列表并检查我们使用 ListIterator 的单词拼写是否正确
我们发现基于搜索词的结果很奇怪
所以我们尝试使用带有过滤器和 lambda 的 Java 8 Streams

以下是使用 ListIterator 和搜索词“some”的结果

有人有一天,有人,有人,有人的萨默代尔,翻筋斗,萨默塞特郡
,萨默斯维尔,某事,某时,某时,某时
,某时,某时,索米克


以下是使用 ListIterator 搜索词“someo”“someon”的结果


有人会分开


以下是使用带有过滤器和 lambda 的 Steam 的结果,搜索词是“someon”

某人 某人 某人 某人 某人 某人


问题是我们是否正确构建了 ListIterator 代码?
当代码运行时,它不会产生可靠的结果

我们很高兴知道 Stream 代码是否可以以不同的方式构建 我们的
目标是将项目添加到列表视图中,目前结果位于文本区域中
我们之前没有使用过列表视图


慕码人8056858
浏览 58回答 1
1回答

翻翻过去那场雪

我们很高兴知道 Stream 代码是否可以以不同的方式构建我们向您的项目添加了一些项目,即 ComboBox 和 ListView为什么?如果您计划选择 Stream 生成的信息,那么在选择项目(文本)时,TextArea 是一个真正的负担。我们注意到您有一个 ArrayList 列表,Stream 将数据添加到其中,因此不需要所有替换代码。我们向 ListView 添加了一个 SelectionModel 监听器这是带有旧剩余代码的代码这就是组合框所需的全部内容&nbsp;public void CboSelect(){&nbsp;months = FXCollections.observableArrayList();}@FXMLpublic void getSP(){&nbsp; &nbsp; String selected = cboSP.getValue().toString();&nbsp; &nbsp; System.out.println("S S S selected "+selected);&nbsp;}这是新艺术作品哈哈&nbsp; &nbsp; &nbsp; &nbsp; }if(found != true){&nbsp; &nbsp; &nbsp; &nbsp; lvListView.setStyle("-fx-font-size:18.0;-fx-background-color: white;");&nbsp; &nbsp; &nbsp; &nbsp; for(indexSC = 0; indexSC < simpleArray.length;indexSC++){&nbsp; &nbsp; &nbsp; &nbsp; if(simpleArray[indexSC].toLowerCase().contains(txtTest.getText().trim().toLowerCase())){&nbsp; &nbsp; &nbsp; &nbsp; // array stream foreach filter results to textarea javafx&nbsp; &nbsp; &nbsp; &nbsp; List<String> cs = Arrays.asList(simpleArray);&nbsp; &nbsp; &nbsp; &nbsp; ArrayList list = new ArrayList<>();&nbsp; &nbsp; &nbsp; &nbsp; cs.stream().filter(s -> s.startsWith("someon"))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //.forEach(System.out::println);&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; .forEach(list :: add);&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; //String aL = list.toString();&nbsp; &nbsp; &nbsp; &nbsp; //System.out.println("!!!! aL "+aL);&nbsp; &nbsp; &nbsp; &nbsp; //La = list.toString().replace("[", "").replace("]","").replace(",", "").replace(" ", "\n");&nbsp; &nbsp; &nbsp; &nbsp; int L = list.size();&nbsp; &nbsp; &nbsp; &nbsp; for(int X = 0; X < L;X++){&nbsp; &nbsp; &nbsp; &nbsp; String A = (String) list.get(X);&nbsp; &nbsp; &nbsp; &nbsp; cboSP.getItems().add(A);&nbsp; &nbsp; &nbsp; &nbsp; txaML.appendText(A);&nbsp; &nbsp; &nbsp; &nbsp; txaML.appendText("\n");&nbsp; &nbsp; &nbsp; &nbsp; lvListView.getItems().add(A);&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(" = = L "+L+" Num "+A);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; lvListView.getSelectionModel().selectedItemProperty()&nbsp; &nbsp; &nbsp; &nbsp; .addListener((observable, oldValue, newValue) -> {&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(newValue);});我们找不到太多关于 ListIterators 在性能方面的行为我们查看了一些关于 Streams 的帖子似乎是 Java 8 的新事物
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java