gpt4 book ai didi

允许有空格的 Java 列表

转载 作者:行者123 更新时间:2023-11-29 09:46:39 25 4
gpt4 key购买 nike

这可能真的很简单,但我真的无法在谷歌上正确地表达它。我有一个 ArrayList 来保存每个线程的信息。每个线程都有自己的 ID。所以,一开始:

myList.add(theIdOfTheThread, new InfoForTheThread()); //Add new thread info at index theIdOfTheThread

当我需要信息时:

myList.get(myId); //The info for the thread

但是,每当较低的线程完成并删除其条目等时,我总是会得到 OutOfRangeExceptions。因此,我确信必须有一个更好的类用于此,我可以在其中将条目放入我想要的任何索引,并以我想要的任何索引将它们拉出,它们就会留下来。

最佳答案

对于那种访问,你真的应该使用数组,或者更好的是,HashMap。为此使用列表是非常低效的,而且不必要地复杂化。如果您从列表中间删除一项,所有内容都会向下移动,并且您删除的索引上方的所有索引都需要向下移动。

InfoForTheThread 数组不会受此影响,但您需要在开始之前知道所需数组的大小。

改用 HashMap - 您可以使用整数作为键,删除不会导致重新排序。

HashMap<Integer,InfoForTheThread> myInfos = new HashMap<Integer,InfoForTheThread>( 10 );

添加、检索和删除条目:

myInfos.put( Integer.valueOf( 4 ), new InfoForTheThread() );
InfoForTheThread infoForFour = myInfos.get( Integer.valueOf( 4 ) );
InfoForTheThread infoForFour = myInfos.remove( Integer.valueOf( 4 ) );

关于允许有空格的 Java 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/598796/

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