ArrayList.get(-1) // why it will not return the last element?
-6
A
回答
1
2
。
0
不回答为什么它不可能,因为它不在StackOverflow的范围内。
但使用Java 8时,有可能以下列方式:
Optional<E> optE = eCollection.stream().reduce((previous, current) -> current);
,如果它存在,你可以通过optE.get()
得到它,一旦你已经测试了optE.isPresent()
存在。
但是,我相当肯定这会导致性能损失,因为您正在减少流,而您只是想检查最后一个值。
我有一些希望它会在Java中9添加,如果有足够多的人使用Java 8时抱怨,因为在我的例子中,你不能这样做容易,因为获得的第一要素,这将是:
Optional<E> optE = eCollection.stream().findFirst()
。
编辑,还注意到实际目的,其他操作进行findFirst()
调用。例如拨打filter()
。
相关问题
- 1. 为什么<< 256 :: size(16)>>目前为<<1, 0>>?
- 2. java.lang.ArithmeticException:</p> <pre><code>for (int i = Math.abs(key.hashCode()) % size; i < size; i++) </code></pre> <p>为什么会这样:/零
- 3. 为什么我们写ArrayList <ArrayList <Integer>> list = new ArrayList <>();
- 4. 为什么Java不能将ArrayList <TreeSet <Integer>>转换为列表<Set<Object>>?
- 5. 这个转换“1 << i”如何在Python中工作?
- 6. Java的可迭代<Iterable<T>>到ArrayList的<ArrayList<T>>
- 7. 我如何获得Vector <type> Arraylist <type>作为call()的返回值?
- 8. 为什么我不能使用BindingList <TInherited>作为一个参数来使用BindingList的方法<T>?
- 9. 将JavaRDD <ArrayList<T>>转换为JavaRDD <T>
- 10. 为什么我不能动作<Int32>动作<Object>?
- 11. 获取ArrayList的值(String)<ArrayList <String>>();在Java中
- 12. new ArrayList <Set<?>>() - 为什么它可以?
- 13. 为什么不是我的清单<t>排序工作?
- 14. 如何(我<< 48)| ((i&0xffff0000L)<< 16) | ((i > >> 16)&0xffff0000L)| (i >>> 48)工作?
- 15. 我想使PHP的工作<? ?>而不是<?php ?>
- 16. 我有一个类A <T>:IEnumerable <T>,我想添加IEquatable <A<T>>如果T:IEquatable <T>。我该怎么做,并保持IEnumerable呢?
- 17. 为什么我不能将IEnumerable <T>列表投射到BindingList <t>?
- 18. 为什么使用Marshal.AlignedSizeOfStruct <T>代替SafeBuffer.WriteArray中的Marshal.SizeOfStruct <T><T>和SafeBuffer.ReadArray <T>?
- 19. 为什么不工作时,我已经定义IEqualityComparer <T>
- 20. 我的<% %>不能在div中工作。为什么?
- 21. 我该如何将几个动作<T>合并为一个单独的动作<T>在C#中?
- 22. 我为什么要使用TCollections.CreateList <T>而不是TList <T>。创建
- 23. operator <<:std :: cout << i <<(i << 1);
- 24. 为什么它IEnumerable.Empty <T>()而不是IEnumerable <T> .Empty()?
- 25. 我无法理解ArrayList [] = new Arraylist [<size>];宣言。
- 26. 为什么<excludeGroups>工作但<groups>不?
- 27. 在堆栈<T>存储行动<T>为UndoManager的
- 28. 将枚举<T>作为迭代器使用<T>
- 29. 为什么列表<T> .AddRange(IEnumerable的<T>)高于新表快<T>(IEnumerable的<T>)
- 30. 作为数据源的Ienumerable <KeyValuePair <T, string>>。如何?
因为Java不是Python。 –
Java不支持Python方式。 –
'ArrayList.get(ArrayList.size() - 1)'是你正在寻找的东西。但是,您必须确保ArrayList不为空,否则您将遇到错误。 – turbo