Java 阻止 List 集合中数据被覆盖的 3 种方法
"Java 怎么阻止将数据存入 list 集合中被覆盖"\n\n要阻止将数据存入 List 集合中被覆盖,可以使用以下方法:\n\n1. 使用 Set 集合:将数据存入 Set 集合中,因为 Set 集合中不允许重复元素,所以不会发生覆盖的情况。\n\njava\nSet<String> set = new HashSet<>();\nset.add(\"data1\");\nset.add(\"data2\");\nset.add(\"data3\");\n\n\n2. 使用 Map 集合:将数据存入 Map 集合中,使用唯一的键来标识每个数据,这样就不会发生覆盖的情况。\n\njava\nMap<String, String> map = new HashMap<>();\nmap.put(\"key1\", \"data1\");\nmap.put(\"key2\", \"data2\");\nmap.put(\"key3\", \"data3\");\n\n\n3. 使用自定义对象:如果需要存储复杂的数据结构,可以创建一个自定义的对象,并重写其hashCode()和equals()方法,确保每个对象都具有唯一的标识,然后将对象存入 List 集合中。\n\njava\npublic class Data {\n private String id;\n private String name;\n\n // 构造方法、getter和setter方法等\n\n @Override\n public int hashCode() {\n return Objects.hash(id, name);\n }\n\n @Override\n public boolean equals(Object obj) {\n if (this == obj) {\n return true;\n }\n if (obj == null || getClass() != obj.getClass()) {\n return false;\n }\n Data other = (Data) obj;\n return Objects.equals(id, other.id) && Objects.equals(name, other.name);\n }\n}\n\nList<Data> list = new ArrayList<>();\nData data1 = new Data(\"1\", \"data1\");\nData data2 = new Data(\"2\", \"data2\");\nlist.add(data1);\nlist.add(data2);\n
原文地址: https://www.cveoy.top/t/topic/pq8w 著作权归作者所有。请勿转载和采集!