![]() |
1
6
不,你没有-你可以:
是的,它仍然比LINQ需要更多的工作,但这基本上是因为C#具有lambda表达式形式的闭包。如果您愿意编写以下代码,可以在Java中实现类似的功能:
C#解决方案的大部分简洁性只是允许您非常简单地表达该谓词。 合理的 |
![]() |
2
4
|
![]() |
3
2
您很可能会像在C#中使用jdk7一样完成这项工作。 |
![]() |
4
1
在我看来,他们在Java集合类中犯了一个愚蠢的错误,这使问题变得复杂。当您执行Collection.indexOf(want)时,他们搜索集合时基本上会说“if(want.equals(collectionMember))”而不是“if(collectionMember.equals(want))”。
但是因为它实际上是作为“if(want.equals(collectionMember))”实现的,所以Java String类当然没有“equals(MyObject)”函数,所以不能只给它一个字符串来搜索。相反,您必须创建一个虚拟对象来保存要查找的值。 是的,正如其他海报所指出的,编写一个快速函数来按顺序搜索收藏并不是什么大问题。但是,如果我们讨论的是一个序列搜索不实用或效率不高的集合,比如HashMap或树结构,该怎么办? |
![]() |
5
1
具有 lambdaj
|
![]() |
6
0
如果要搜索,应该使用HashMap/HashTable和人名哈希。
|
![]() |
7
0
您可以使用迭代器,然后将name字段与正在搜索的名称进行比较(所有这些都只涉及使用javaapi) 此外,HashMap可能是一种更好的数据结构,在本例中,您可以看到如何使用name作为“键”。 问题不在于java集合,而在于您对数据结构/实现的选择。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |