Java learn 集合框架比较 ArrayList 和HashSet

1、是否有顺序
ArrayList: 有顺序
HashSet: 无顺序

在之前的学习中已经提出 HashSet 是不会按照顺序存储的 且同一个数据不能够重复
注意:
HashSet的具体顺序,既不是按照插入顺序,也不是按照hashcode的顺序。

2、能否重复
List中的数据可以重复
Set中的数据不能够重复

重复判断标准是:
首先看hashcode是否相同
如果hashcode不同,则认为是不同数据
如果hashcode相同,再比较equals,如果equals相同,则是相同数据,否则是不同数据

那么 HashSet 的用途也就在于能够生成指定容量大小的且不重复的随机数
示例:(以下是生成50个 0-9999之间的随机数,要求不能有重复的)

package test;


import java.util.HashSet;


public  class Hashset  {
	public static void main(String[] args) {
		HashSet sd=new HashSet();
		for (int i = 0; i < 100; i++) {
			int h=(int)(Math.random()*10000);
			sd.add(h);
			if(sd.size()==50)
				break;
		}
		System.out.println(sd);
		System.out.println(sd.size());
	}
}

上一篇:测试在MicroPython中对于main.py进行修改


下一篇:学习go笔记第一次