深入解读Java map list set的用法

网友投稿 138 2024-02-01


深入解读Java map list set的用法

Map接口和Collection接口是所有集合框架的父接口:

Collection接口的子接口包括:Set接口和List接口

Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等

Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等

List接口的实现类主要有:ArrayList、LinkedList、Stack以及Vector等

List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection 接口?List、Map、Set 三个接口存取元素时,各有什么特点?

Collection集合主要有List和Set两大接口

(1)List:是一个有序,元素可以重复。常用的实现类有 ArrayList、LinkedList 和 Vector。

(2)Set:是一个无序,不可以存储重复元素,只允许存入一个null元素,Set 接口常用实现类是 HashSet、LinkedHashSet 以及 TreeSet。

Map

Map是一个键值对集合,存储键、值和之间的映射。 Key无序,唯一;value 不要求有序,允许重复。Map没有继承于Collection接口,从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。

Map 的常用实现类:HashMap、TreeMap、HashTable、LinkedHashMap、ConcurrentHashMap

(1)Map 存元素和取元素和删除(put、get、remove) import java.util.HashMap; /** * Map 存元素和取元素和删除(put、get、remove) * @author 小治的高等数学 * */ public class Map1 { public static void main(String[] args) { // 创建 HashMap 对象 Sites HashMap<String, String> sites = new HashMap<String, String>(); // 添加键值对 sites.put("1", "Google"); sites.put("2", "Runoob"); sites.put("3", "Taobao"); sites.put("4", "Zhihu"); // 输出Map中所有元素 System.out.println(sites); // 拿出Map中key的为1的value的值 System.out.println(sites.get("1")); System.out.println(sites.get("3")); sites.remove("3"); System.out.println(sites.get("3")); System.out.println(sites); } } (2)循环Map package basics.map; import java.util.HashMap; import java.util.Map.Entry; public class Map2 { public static void main(String[] args) { // 创建 HashMap 对象 Sites HashMap<Integer, String> sites = new HashMap<Integer, String>(); // 添加键值对 sites.put(4, "Zhihu"); sites.put(1, "Google"); sites.put(2, "Runoob"); sites.put(3, "Taobao"); sites.put(4, "Zhihu2"); // 只循环 key for (Integer i : sites.keySet()) { System.out.println("key: " + i + " value: " + sites.get(i)); } // 只循环 value 值 for(String value: sites.values()) { // 输出每一个 value System.out.println(value + ", "); } // 循环 key 和 value for (Entry<Integer, String> entry : sites.entrySet()) { System.out.println("只输出key "+entry.getKey()); System.out.println("只输出value "+entry.getValue()); } for (int i = 0; i <= sites.size(); i++) { System.out.println(sites.get(i)); } } }

以上就是深入解读Java三大集合之map list set的

Java编程技术

是否会遇到这样的场景,你向线程池提交了多个任务,你希望这批任务全部完成后能够反向通知你。你可能会使用线程计数的方式,等到计数器累加到提交的线程数量,然后通知。emmm,不是不可以,只是不够优雅。本文提供优 ...


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:怎么在接口回调中的使用接口对象的实例化
下一篇:java怎么实现接口继承
相关文章

 发表评论

暂时没有评论,来抢沙发吧~