关于集合类set

list中允许有重复的元素,而set中不允许有重复的元素。

package cn.hncu.Test;

import java.util.HashMap;
import java.util.Map;

public class test1 {

	public static void main(String[] args) {
		/* Map<String,String> map=new HashMap<String, String>();
		 map.put(String.valueOf(System.currentTimeMillis()+"a"),"1");
		 map.put(String.valueOf(System.currentTimeMillis()+"a"), "2");
		 map.put(String.valueOf(System.currentTimeMillis()+"a"), "3");
		 for(Map.Entry<String, String> entry:map.entrySet()){
			 System.out.println(entry.getValue());
			 这个地方输出的是3---原因是因为set没有重复的元素,所以后面的3覆盖了前面的数字;
			 */
		Map<String,String> map=new HashMap<String, String>();
		 map.put(String.valueOf(System.nanoTime()+"a"),"1");
		 map.put(String.valueOf(System.nanoTime()+"a"),"2");
		 map.put(String.valueOf(System.nanoTime()+"a"),"3");
		 for(Map.Entry<String, String> entry:map.entrySet()){
			 System.out.println(entry.getValue());
			 //下面输出的是123顺序不确定
		 }
	}

}

  上面代码的结果不一样主要是由于

System.currentTimeMillis()时间是相等的
System.nanoTime()单位是纳秒来获取时间,用来测试代码段在同一线程上执行所消耗的时间。所以在时间上不一样。

原文地址:https://www.cnblogs.com/1314wamm/p/6526394.html