JAVA中的 map,list,set

目录
  • 1、Map接口和Collection接口是所有集合框架的父接口
  • 2、Collection集合主要有List和Set两大接口
  • 3、Map
    • (1)Map 存元素和取元素和删除(put、get、remove)
    • (2)循环Map

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

Collection接口的子接口包括:Set接口和List接口
Map接口的实现类主要有:HashMapTreeMapHashtableConcurrentHashMap以及Properties
Set接口的实现类主要有:HashSetTreeSetLinkedHashSet
List接口的实现类主要有:ArrayListLinkedListStack以及Vector

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

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

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

3、Map

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

Map 的常用实现类:HashMapTreeMapHashTableLinkedHashMapConcurrentHashMap

(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 map、list、set内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 深入解读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.

  • java中Map、Set、List的简单使用教程(快速入门)

    Map.Set.List List的常用方法 1.创建 List<Integer> list = new ArrayList<>(); List<Integer> list = new LinkedList<>(); //同时可以作为链表用 List<List<Integer>> list = new ArrayList<>(); 2.遍历 //本质上其实是调用Iterator for(String s:list){ Sy

  • Java中Map的entrySet()使用说明

    由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系. Map中采用Entry内部类来表示一个映射项,映射项包含Key和Value Map.Entry里面包含getKey()和getValue()方法 Set<Entry<T,V>> entrySet() 该方法返回值就是这个map中各个键值对映射关系的集合. 可使用它对map进行遍历. Iterator<Map.Entry<Integer, Integer>> it=map.entrySet

  • Java 集合框架掌握 Map 和 Set 的使用(内含哈希表源码解读及面试常考题)

    目录 1. 搜索 1.1 场景引入 1.2 模型 2. Map 2.1 关于 Map 的介绍 2.2 关于 Map.Entry<K, V> 的介绍 2.3 Map 的常用方法说明 2.4 关于 HashMap 的介绍 2.5 关于 TreeMap 的介绍 2.6 HashMap 和 TreeMap 的区别 2.7 Map 使用示例代码 3. Set 3.1 关于 Set 的介绍 3.1 Set 的常用方法说明 3.3 关于 TreeSet 的介绍 3.4 关于 HashSet 的介绍 3.5

  • 浅谈Java中Map和Set之间的关系(及Map.Entry)

    1.通过查找API文档: 2.Map.Entry是一个接口,所以不能直接实例化. 3.Map.entrySet( )返回的是一个collection集合,并且,这个collection中的元素是Map.Entry类型,如下图所示: 4. Map是Java中的接口,Map.Entry是Map的一个内部接口.java.util.Map.Entry接口主要就是在遍历map的时候用到. Map提供了一些常用方法,如keySet().entrySet()等方法,keySet()方法返回值是Map中key值

  • javascript实现Java中的Map对象功能的实例详解

    javascript  自定义对象实现Java中的Map对象功能 Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象. 这里我创建一个自定义对象,这个对象内包含一个数组来存储数据,数据对象是一个Key,可以实际存储的内容! 这里Key,你要使用String类型,和Java一样,你可以进行一些增加,删除,修改,获得的操作. 使用很简单,我先把工具类给大家看下: /** * @version 1.0 * @author cuisuqia

  • Java中遍历Map的多种方法示例及优缺点总结

    前言 关于java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下具体的用法以及各自的优缺点 先初始化一个map public class TestMap { public static Map<Integer, Integer> map = new HashMap<Integer, Integer>(); } keySet values 如果只需要map的key或者value,用map的keySe

  • java中实现map与对象相互转换的几种实现

    最近,研究map与java对象之间的相互转换,总结了5种方法: 第一种:使用org.apache.commons.beanutils转换 用到的主要jar包:commons-beanutils-1.9.3.jar //map转java对象 public static Object mapToObject(Map<String, Object> map, Class<?> beanClass) throws Exception { if (map == null) { return

  • java中使用map排序的实例讲解

    对列表进行排序也是我们经常遇到的问题,这里缩小一下范围,使用map来对列表排序.相信大家都有过TreeMap排序的经历,不过Map.Entry能按值进行排序,在用法上略胜一筹.下面我们会对这两种map排序的方法分别进行介绍,着重讲解Map.Entry排序的方法. 1.Map.Entry方法 把Map.Entry放进list,再用Comparator对list进行排序 List list = new ArrayList(map.entrySet()); Collections.sort(list,

  • Java中遍历Map集合的5种方式总结

    方式一 通过Map.keySet使用iterator遍历 @Test public void testHashMap1() { Map<Integer, String> map = new HashMap<>(); map.put(001, "Java"); map.put(002, "数据库"); map.put(003, "Vue"); System.out.println(map); // 通过Map.keySet使

  • JAVA中的 map,list,set

    目录 1.Map接口和Collection接口是所有集合框架的父接口 2.Collection集合主要有List和Set两大接口 3.Map (1)Map 存元素和取元素和删除(put.get.remove) (2)循环Map 1.Map接口和Collection接口是所有集合框架的父接口 Collection接口的子接口包括:Set接口和List接口 Map接口的实现类主要有:HashMap.TreeMap.Hashtable.ConcurrentHashMap以及Properties等 Se

  • Java中stream.map和stream.forEach的区别

    目录 什么是 stream 流 stream.map 和 stream.forEach 的区别 网上很多关于讲解这俩个区别的文章,但大多数要么不明不白,要么太复杂难理解.所以自己通俗的讲一下,毕竟不会太深奥,只是个人理解 (评论区指出了错误改了一下). 什么是 stream 流 我们在使用集合或数组对元素进行操作时往往会遇到这种情况:通过对不同类型的存储元素,按照特定条件进行查找.排序.等操作时往往会写一大段代码,而且更要命的是,不同类型的数据,操作的方法也不一样,比如一个存储 Student

  • Java中的Map集合简单汇总解析

    Map接口简介 Map接口是一种双列集合,它的每个元素都包含一个键对象Key和值对象Value,键和值对象之间存在一种对应关系,称为映射.从Map集合中访问元素时,只要指定了Key,就能找到对应的Value, Map中的键必须是唯一的,不能重复,如果存储了相同的键,后存储的值会覆盖原有的值,简而言之就是键相同,值覆盖. Map常用方法 put(K key, V value) 添加数据,如果先前包含该键的映射,则替换旧值 get(Object key) 返回指定键所映射的值 Set<Map.Ent

  • Java中的Map允许有重复元素吗?

    Java中常见的三个集合接口:List.Set.Map,已经知道List中是允许有重复元素的,而Set中是不允许有重复元素的,那么Map中允许有重复元素吗? 查阅资料,发现是不可以的,因为map是无序的,它的查询需要通过key的值来查找,如果你定义两个同样的key,那么一个key就对应了多个值,这样就违背了java对map的定义,键和值是一一对应的.所以key不可以重复. 写个代码测试一下: package com.test.collection; import java.util.HashMa

  • 使用GSON库将Java中的map键值对应结构对象转换为JSON

    Map的存储结构式Key/Value形式,Key 和 Value可以是普通类型,也可以是自己写的JavaBean(本文),还可以是带有泛型的List. (GSON的GitHub项目页:https://github.com/google/gson) JavaBean 本例中您要重点看如何将Json转回为普通JavaBean对象时TypeToken的定义. 实体类: public class Point { private int x; private int y; public Point(int

随机推荐