java - 数组的最后一个元素在迭代时首先打印

标签 java iterator set

import java.util.*;
class next {
public static void main( String args[] ) {
 String elements[] = { "Suhail" , "Shadow" , "Stars" };
 Set s = new HashSet( Arrays.asList( elements ) );
 Iterator i = s.iterator();
   while( i.hasNext() ) {
 System.out.println( i.next() );
   }
 }
}

接下来的输出是:

Stars
Shadow
Suhail

为什么我先打印最后一个元素?我希望输出是 suhail , shadow , stars

最佳答案

HashSet 保证任何顺序。使用 LinkedHashSet 来保留插入顺序。

关于java - 数组的最后一个元素在迭代时首先打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7345445/

相关文章:

java - 整洁的架构交互器实现

c++ - 我正在编写一个日历来存储带有多个生日对象的生日我是迭代器的新手并且在使用 find() 时遇到编译器错误

java - ArrayList 在运行方法后不会返回修改后的值

java - 检索 JList 项的数组数据

java - Spring PropertySourcesPlaceholderConfigurer : local properties vs environment ones?

java - 没有版本的maven依赖

c++ - 将 const auto & 转换为迭代器

rust - 在 rust 中进行N次迭代后如何停止迭代器?

c# - 按项目成员对 SortedSet 进行排序

带套的安卓动画