Set的clear()方法
set是一个无序集合,方法很多,set只允许添加同一类型的数据,这个在使用add(),和addAll()的时候只需要注意集合是否已经有值,即将加入的值是否跟当前里面的值是否是同一类型即可,此问题比较简单,今天我们说一下clear()方法;使用时一定要注意:它会将连同里面的对象的值一起清除;`
测试代码
public static void main(String[] args) {
Map map = new HashMap();
//加入int数据
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
Set set = map.keySet();
System.out.println(set);
set = map.entrySet();
System.out.println("map---前" + map);
System.out.println("set---前" + set);
//使用clear
set.clear();
System.out.println("map---后" + map);
System.out.println("set---后"+set);
//加入新类型(字符串)的数据
map.put("a", "测试");
map.put("b", "测试结束");
System.out.println("map---重新加入" + map);
}
测试结果
[a, b, c]
map---前{a=1, b=2, c=3}
set---前[a=1, b=2, c=3]
map---后{}
set---后[]
map---重新加入{a=测试, b=测试结束}
总结
通过测试我们发现,使用clear()之前我们map中的值一直存在;使用之后,不仅清除了set中的数据,我们map中的数据一起被清除;但是map对象依然存在,我们可以重新加入新类型的数据;