草庐IT

arrayList

全部标签

java - 在 Java 中,如何将 String 值与 String 类型的 ArrayList 进行比较?

我的要求是将String与包含字符串列表的ArrayList进行比较。谁能推荐我一下? 最佳答案 使用ArrayList.contains("StringToBeChecked");如果ArrayList中存在字符串,则此函数返回true,否则返回false。 关于java-在Java中,如何将String值与String类型的ArrayList进行比较?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

java - 从 ArrayList 更改为 Vector

我正在开发一款安卓游戏,我刚刚注意到自onTouchEvent在UI线程上运行,更新/渲染方法从单独的线程运行,它们都更新一个ArrayList其中包含实体。所以很明显,如果他们碰巧同时修改列表,他们就会发生冲突。我读到Vector类的使用与ArrayList完全相同唯一的区别是Vector是同步的,因此它们不会冲突。真的吗?如果是这样,它是否有任何性能问题或我应该关注的问题?我从来没有用过Vector上课前。编辑:我真正的意思是从ArrayListlist=newArrayList();到Vectorlist=newVector()但正如答案所说,Vector不推荐使用。所选答案解决

java - 在 Java 的 ArrayList 中使用包含的最佳方法?

我在Java中有一个ArrayList,它由包含两个字符串和一个整数的类型组成。我可以成功测试此ArrayList的一个元素是否等于另一个元素,但我发现contains方法失败。我相信这是因为我的类型不是原始类型。现在我看到了两个替代方案,我想知道哪个是最好的选择:通过遍历ArrayList并测试每个元素与我要查找的元素的相等性然后中断循环来实现我自己的contains方法。或者使用我的类型的HashMap作为键,使用整数作为值而不是ArrayList。在这里,我可以使用方法containsKey来检查某个元素是否已存在于HashMap中。方法#2的唯一警告是在我的案例中该值在很大程度

java - 在 Java 中的 ArrayList 之间进行转换

抱歉,我以为这是一个继承问题:它一直是一个ArrayList问题!好的,我的问题比我想象的更具体。所以我有两个类(class)家庭。卡片和区域。区域是用来存放卡片的盒子。Zone的前两个子类ZoneList和ZoneMap是两种不同的卡片存储方式。进一步的子类,例如Hand和PokerHand,有自己特定的方式来处理它们存储的牌。复杂的是Card也有子类,例如PokerCard,而ZoneList和ZoneMap的子类就是用来组织这些子类的。所以在ZoneList中我有protectedArrayListcardBox;在PokerHand中,我希望能够声明cardBox=newArr

java - 在比较器中使用列表时,对 ArrayList 进行排序可能会失败。这有记录吗?

ArrayLists似乎是用TimSort排序的,其中底层列表在排序过程中并不总是一致。调用比较器时,列表条目可能会消失或出现两次。在我们的比较器中,我们正在比较键,我们正在使用一个函数来获取要与该键进行比较的值。由于此函数在其他上下文中使用,我们测试键是否实际存在于列表中(排序中不需要的东西):if(keys.contains(itemId)){...由于keys是我们正在排序的列表,因此在比较器中可能会发生由于TimSort的内部机制而无法在列表中找到键的情况。问题:是否在Javadoc的某处提到(找不到)您不应该访问Comparator中的基础列表?这是应该对副本进行排序的Tim

java - 为什么 Java List 遍历比文件 readline 慢?

我有这段代码:while((line=br.readLine())!=null){StringWords[]=line.split("");outputLine=SomeAlgorithm(Words);output.write(outputLine);}正如您在上面的代码中看到的,对于输入文件中的每一行,我都读取一行,在其上运行一些算法,基本上修改读取的那行,然后将输出行写入某个文件。文件中有9k行,整个程序在我的机器上花了3分钟。我想,好吧,我为算法的每一(行)运行执行2个I/O。所以我正在做大约18kI/O。为什么不先将所有行收集到ArrayList中,然后遍历列表并在每一行上运

java - 有效地从 ArrayList 中获取子列表

我的问题我有一个包含自定义变量的固定大小的ArrayList。尽管ArrayList具有固定大小,但有时它们中的很多实际上都是空的。问题是我需要返回里面没有空变量的ArrayList。需要注意的一件重要事情:ArrayList将首先具有其所有非空项,然后是它们下面的所有空值,例如,元素是不混。示例:[非空,非空,....空,空,空]我的解决方法我虽然创建了一个for循环来检查(从最后一个索引到第一个索引)ArrayList中的每个元素以确定它是否为null。如果为null,那么我将调用此代码:for(i=size-1;i>=0;i--){groupList=newArrayList(g

java - 如何在 Java 中生成包含 N 个可能元素 (M > N) 的数组列表(长度均为 M)?

例如,如果元素是{1,2}(n=2)和m=3,该方法应该生成这样的数组列表{[1,1,1],[1,1,2],[1,2,1],[2,1,1],[1,2,2],[2,2,1],[2,1,2],[2,2,2]}。我知道Python可以执行类似y=itertools.product((1,2),repeat=3)的操作,但我如何在Java中有效地实现它。我已经尝试提供一些初始列表并使用以下内容来获得我想要的内容,但是时间复杂度太高并且当输入很大时性能非常糟糕。publicstaticList>permute(Listlist,intneed){List>result=newArrayList(

java - 使用通用数组的 ArrayList 转换 ArrayList.toArray()

一个我几乎要放弃所有希望的难题。我想做一个函数,但在获取ArrayList.toArray()返回我想要的类型时遇到问题。这是演示我的问题的最小示例:publicstaticT[]test(Tone,Ttwo){java.util.Listlist=newArrayList();list.add(one);list.add(two);return(T[])list.toArray();}通常我可以使用(T[])list.toArray(newT[0])的形式,但是有两个额外的困难:由于协方差规则,我无法对数组进行类型转换,(T[])myObjectArray给出了一个ClassCast

java - 从 Apache Spark SQL 中的用户定义聚合函数 (UDAF) 返回多个数组

我正在尝试使用ApacheSparkSQL在Java中创建一个用户定义的聚合函数(UDAF),该函数在完成时返回多个数组。我在网上搜索过,找不到关于如何执行此操作的任何示例或建议。我能够返回单个数组,但无法弄清楚如何在返回多个数组的evaluate()方法中以正确的格式获取数据。UDAF确实有效,因为我可以在evaluate()方法中打印出数组,我只是想不出如何将这些数组返回给调用代码(如下所示以供引用)。UserDefinedAggregateFunctioncustomUDAF=newCustomUDAF();DataFrameresultingDataFrame=dataFram