标签: collections

返回null或空集合是否更好?

这是一个普遍的问题(但我使用的是C#),最好的方法是什么(最佳实践),对于将集合作为返回类型的方法,是否返回null或空集合?

c# collections

397
推荐指数
9
解决办法
10万
查看次数

Linq .Any VS.Exists - 有什么区别?

在集合上使用Linq,以下代码行之间有什么区别?

if(!coll.Any(i => i.Value))
Run Code Online (Sandbox Code Playgroud)

if(!coll.Exists(i => i.Value))
Run Code Online (Sandbox Code Playgroud)

更新1

当我反汇编.Exists它看起来没有代码.

更新2

任何人都知道为什么这个没有代码?

c# linq collections

396
推荐指数
6
解决办法
30万
查看次数

Map.get(Object key)不是(完全)泛型的原因是什么

什么是决定不具有的接口完全通用的get方法背后的原因java.util.Map<K, V>.

为了澄清这个问题,方法的签名是

V get(Object key)

代替

V get(K key)

我想知道为什么(同样的事情remove, containsKey, containsValue).

java generics collections map

395
推荐指数
8
解决办法
5万
查看次数

在Swift编程语言中获取字符串的第n个字符

如何获取字符串的第n个字符?我尝试了托架([])访问器没有运气.

var string = "Hello, world!"

var firstChar = string[0] // Throws error
Run Code Online (Sandbox Code Playgroud)

错误:'subscript'不可用:不能使用Int下标String,请参阅文档注释以供讨论

string collections character swift

392
推荐指数
20
解决办法
27万
查看次数

HashSet与List性能

很明显,泛型HashSet<T>类的搜索性能高于泛型List<T>类.只需将基于散列的密钥与线性方法进行比较即可List<T>.

但是,计算散列键本身可能需要一些CPU周期,因此对于少量项目,线性搜索可以是一个真正的替代HashSet<T>.

我的问题:收支平衡在哪里?

为了简化场景(并且公平),我们假设List<T>该类使用元素的Equals()方法来标识项目.

.net collections hash performance list

374
推荐指数
8
解决办法
18万
查看次数

在Java中增加Map值的最有效方法

我希望这个问题对于这个论坛来说不算太基础,但我们会看到.我想知道如何重构一些代码以获得更好的性能,这些代码会运行很多次.

假设我正在使用Map(可能是HashMap)创建一个单词频率列表,其中每个键都是一个字符串,其中包含要计数的单词,而值是一个整数,每次找到该单词的标记时,该整数都会递增.

在Perl中,增加这样的值将非常简单:

$map{$word}++;
Run Code Online (Sandbox Code Playgroud)

但在Java中,它要复杂得多.这是我目前正在做的方式:

int count = map.containsKey(word) ? map.get(word) : 0;
map.put(word, count + 1);
Run Code Online (Sandbox Code Playgroud)

这当然依赖于较新Java版本中的自动装箱功能.我想知道你是否可以提出一种更有效的方法来增加这样的价值.是否有良好的性能原因可以避开Collections框架并使用其他东西?

更新:我已经对几个答案进行了测试.见下文.

java collections optimization

349
推荐指数
14
解决办法
21万
查看次数

如何在Java中将int []转换为List <Integer>?

如何转换int[]List<Integer>Java中?

当然,我对任何其他答案感兴趣,而不是逐个循环地进行.但如果没有其他答案,我会选择那个最好的,以表明这个功能不是Java的一部分.

java arrays collections autoboxing boxing

347
推荐指数
13
解决办法
37万
查看次数

如何对ArrayList进行排序?

我在java中有一个双打列表,我想按降序排序ArrayList.

输入ArrayList如下:

List<Double> testList = new ArrayList();

testList.add(0.5);
testList.add(0.2);
testList.add(0.9);
testList.add(0.1);
testList.add(0.1);
testList.add(0.1);
testList.add(0.54);
testList.add(0.71);
testList.add(0.71);
testList.add(0.71);
testList.add(0.92);
testList.add(0.12);
testList.add(0.65);
testList.add(0.34);
testList.add(0.62);
Run Code Online (Sandbox Code Playgroud)

输出应该是这样的

0.92
0.9
0.71
0.71
0.71
0.65
0.62
0.54
0.5
0.34
0.2
0.12
0.1
0.1
0.1
Run Code Online (Sandbox Code Playgroud)

java sorting collections arraylist

335
推荐指数
14
解决办法
91万
查看次数

如何在TypeScript中删除数组项?

我有一个我在TypeScript中创建的数组,它有一个我用作键的属性.如果我有该密钥,我该如何从中删除一个项目?

arrays collections typescript

321
推荐指数
13
解决办法
41万
查看次数

反转ArrayList的最简单方法是什么?

反转此ArrayList的最简单方法是什么?

ArrayList<Integer> aList = new ArrayList<>();

//Add elements to ArrayList object
aList.add("1");
aList.add("2");
aList.add("3");
aList.add("4");
aList.add("5");

while (aList.listIterator().hasPrevious())
  Log.d("reverse", "" + aList.listIterator().previous());
Run Code Online (Sandbox Code Playgroud)

java collections android arraylist

314
推荐指数
6
解决办法
30万
查看次数