我在想,如果Java有它自己的排序清单的版本,或者如果我需要创建我自己的。我希望列表自动更新自己,如果有东西被删除。例如,如果我从列表的开头,甚至中间删除某些东西,我希望它后面的所有东西在列表中向上移动,剩余的空值空间将被删除。
4
A
回答
3
那么,Java有很多比数组更好的列表实现,虽然它听起来并不像你真的想从你的描述中得到一个有序列表。
的ArrayList或LinkedList会做你想要什么,只要插入或删除元素:
public Object remove(int index)
- 移除此列表中指定位置的元素。将任何随后的元素向左移(从其索引中减去一个元素)。
你真的想要一个排序列表,还是仅仅比数组更高的级别?
3
4
如果你是一个.NET SortedList
,这实际上是由它的按键排列的地图相当于后真的,那么最接近的等效可能是TreeMap
。这是实际上更像SortedDictionary
比SortedList
,因为它是一棵树,而不仅仅是一个列表,但它可能是最接近的可用选项。
但是,您所描述的所描述的更像是ArrayList
,与.NET的List<T>
类似。
相关问题
- 1. 排序清单中的Java
- 2. C#相当于Java的Thread.setDaemon?
- 3. 相当于Java的C#Action.BeginInvoke
- 4. Java相当于C#代码
- 5. 相当于Java C#Array.Copy
- 6. 相当于Java的C#Rfc2898DerivedBytes
- 7. C#相当于Java的Exception.printStackTrace()?
- 8. 相当于Java的Optional.orElse C#
- 9. C++相当于Java的System.arraycopy
- 10. java的cin(C++)相当于
- 11. 相当于C++的Java ByteBuffer?
- 12. C#相当于Java的mkdirs()
- 13. Java相当于C的“ispunct()”
- 14. C#相当于java的Graphics2D
- 15. 从排序清单
- 16. 相当于java的C/C++ Integer.toHexString
- 17. C或Objective-C相当于Java的Integer.toOctalString()?
- 18. Java相当于app.config?
- 19. 蚂蚁相当于cut |排序| uniq
- 20. Java相当于scala.collection.mutable.Map.getOrElseUpdate
- 21. 相当于C#
- 22. 相当于C#的DateTime.Now在Java中吗?
- 23. C#出的IntPtr相当于在Java中
- 24. 相当于Java中C语言的__FUNCTION__
- 25. Objective C相当于Java的ArrayList
- 26. Java相当于C#的类型?
- 27. 什么是C#相当于Java的getAndSet
- 28. C#相当于Java代码片段Xamarin.Android
- 29. Java中的C stroull相当于
- 30. C#相当于Java的同步(abc.class)的
我已经在使用一个ArrayList,所以我想它会没事的。基本上我不想要任何空引用。我有一个循环不断地通过这个ArrayList,所以如果有东西被删除,我不希望有一个空引用。从你说的看来,ArrayList看起来很好。 – 2011-04-09 18:56:38
仔细检查ArrayList的性能。对于大型数组,remove()是可以接受的。我被从StringBuffer开头删除一个字符的性能所困扰。 – 2011-04-09 19:01:41