数组列表检索顺序
我有一个java,我向其中添加了5个对象。ArrayList
如果我循环访问列表并打印出来,则循环访问列表并再次打印出来。
这两种情况下的检索顺序会相同吗?(我知道它可能与广告顺序不同)
我有一个java,我向其中添加了5个对象。ArrayList
如果我循环访问列表并打印出来,则循环访问列表并再次打印出来。
这两种情况下的检索顺序会相同吗?(我知道它可能与广告顺序不同)
是的,假设您没有修改中间的列表。从 http://docs.oracle.com/javase/6/docs/api/java/util/List.html:
迭 代
Iterator<E> iterator()
按正确的顺序返回对此列表中的元素的迭代器。
也许有点模糊,但在该页面的其他部分中,定义了这个术语:
正确的顺序(从第一个元素到最后一个元素)
(我知道它可能与广告顺序不同)
不,它不会。的合约要求顺序与迭代顺序相同,因为在末尾插入,并生成一个按顺序从开始到结束迭代的迭代器。List
add
add
iterator
Set
不需要这个,所以你可能会混淆迭代顺序的合约和关于迭代顺序。Set
List
来自 Javadoc:
Iterator<E> iterator()
按正确的顺序返回对此列表中的元素的迭代器。