set集合跟list集合不同的地方在于,set集合中不包含重复的元素,它没有带索引的方法,所以不能用普通的for循环来遍历元素。在遍历的过程中,不能保证迭代的顺序。
话说这么说,但是我在实际敲代码的时候却遇到了按照顺序遍历的问题。
此时元素是按照我将它们录入集合的顺序打印的。我以为是概率的问题,但是运行多次依旧是这个结果。当我换成其他字符串时,发现打印的顺序跟存入的顺序不一样了。
但是再次运行并不能将这些元素重新排列,可见取出set集合里的元素的顺序并不是杂乱无章的,而是遵循了一定的规律。
查了下资料,Hashset的底层是由一个java.util.HashMap
类支持的。后期学完了Hashmap应该就能解决这个疑问。