关于java的Set,List部分注意事项

List和Set的add方法,存的是地址而不是值

今天之前,一直认为 list.add(map) 这个是将map的值传进list中,今天才发现,原来存的是map的地址。

看下图,可以发现,我修改了map2的值,最后打印出来的list,是修改后的
关于java的Set,List部分注意事项
关于java的Set,List部分注意事项

顺带提一提,Set是唯一的;并且如果后面add进去的值和前面add进去的值是一样的,那么只会保存前面add进去的map地址,而不是覆盖

关于java的Set,List部分注意事项