当前位置:编程学习 > JAVA >>

set无序中的有序,求解释??

最近碰到了一个问题,代码如下:
package com.util;

import java.util.HashSet;
import java.util.Set;

public class Test {
public static void main(String[] args) {
Set<String> set=new HashSet<String>();
set.add("a");
set.add("b");
set.add("c");
set.add("d");
set.add("e");
set.add("f");
System.out.println(set.iterator().next());
}

}
输出结果为什么总是f,当去掉f的时候,输出结果总是d,大家讨论一下?? --------------------编程问答-------------------- 建议楼主去看看java JDK吧!那里面应该有清楚的介绍! --------------------编程问答-------------------- 看HashMap源码即知,HashSet就是用HashMap实现的 --------------------编程问答--------------------
import java.util.*;

public class Test {
    public static void main(String[] args) {
        Set<String> set = new HashSet<String>();
        set.add("a");
        set.add("b");
        set.add("c");
        set.add("d");
        set.add("e");
        set.add("f");

// 这句不好,你仅仅只使用了iterator打印了第一个元素
        // System.out.println(set.iterator().next());

////////////////////////////////////////////////////////
// 以下是三种可选的打印set的方式
// foreach
for(String s : set) {
System.out.println(s);
}

// 迭代器
Iterator<String> it = set.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}

// 直接打印
System.out.println(set);
    }
}
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,