gpt4 book ai didi

java - 比较 String 对象的更快方法

转载 作者:行者123 更新时间:2023-12-03 06:37:06 24 4
gpt4 key购买 nike

这是我使用的方法:

public void addSong(LibrarySong song){

//Check if doublicates exist
for(int i=0; i<intoPanel.getComponentCount(); i++){
if(song.getName().toLowerCase().equals(intoPanel.getComponent(i).getName().toLowerCase()))
return;
}

intoPanel.add(song);

}

....将新组件插入到 JPanel 中。我通过检查名称是否已存在来执行此操作。这效果很好,但是当我必须 D&D 或手动插入 100.000 个项目时,运行速度会越来越慢。

我的问题是:

我可以使用更好的东西来更快地完成这个过程吗?谢谢......

编辑:根据答案,我将代码更改为:

   String name;
public void addSong(LibrarySong song){

//Check if doublicates exist
name=song.getName().toLowerCase();
for(int i=0; i<intoPanel.getComponentCount(); i++){
if(name.equals(intoPanel.getComponent(i).getName().toLowerCase()))
return;
}

intoPanel.add(song);

}

最佳答案

song.getName().toLowerCase() 移至循环之前,以执行 toLowerCase() 一次。

更新:实际上添加 100 000 个组件并不是一个好主意。使用例如 JTable 的 JList 通过自定义 CellRenderer 来表示歌曲

关于java - 比较 String 对象的更快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31562335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com