Java集合框架中Collection及Map接口介绍

Java集合框架中Collection及Map接口介绍,第1张

Java集合框架中Collection及Map接口介绍

目录
  • 一、类和接口总览
  • 二、Collection接口常用方法说明
    • 2.1将元素放到集合中add
    • 2.2 删除集合中的所有元素clear()
    • 2.3判断集合是否没有任何元素isEmpty()
    • 2.4 删除集合中元素remove()
    • 2.5 判断集合中元素个数size()
    • 2.6 返回一个装有所有集合中元素的数组
  • 三、Map接口常用方法说明
    • 3.1 根据指定的k查找对应的v(get)
    • 3.2 将指定的 k-v 放入Map(put)
    • 3.3 判断是否包含key(containskey)
    • 3.4 判断是否包含value(containsvalue)
    • 3.5 判断是否为空 isEmpty()
    • 3.6 返回键值对的数量size()
    • 3.7 将所有键值对返回entrySet()

Java 集合框架 Java Collection framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索 retrieve 、管理 manipulate ,即平时我们俗称的 增删查改 CRUD。


一、类和接口总览


上图中最左边部分从上往下依次为:接口、抽象类、具体的实现类。

中间部分:
Iterable:迭代器。相当于for-each()。
Collection :用来存储管理一组对象 objects ,这些对象一般被成为元素elements。

  1. Set : 元素不能重复,背后隐含着查找/搜索的语义。
  2. SortedSet : 一组有序的不能重复的元素。
  3. List : 线性结构。
  4. Queue : 队列。
  5. Deque : 双端队列。

右边部分:

  1. Map : 键值对 Key-Value-Pair ,背后隐含着查找/搜索的语义。
  2. SortedMap : 一组有序的键值对。
二、Collection接口常用方法说明 2.1将元素放到集合中add
boolean add(E e) //将元素 e 放入集合中

示例:

public static void main(String[] args) {
        //<>表示泛型
        Collection collection = new ArrayList();
        collection.add("hello");//将元素放入到集合中
//        collection.add(1);
        //<>里面的类型一定要是 类类型,不能是简单的基本类型
        Collection collection2 = new ArrayList();
        collection2.add(1);
        collection2.add(2);
        collection2.add(3);
    }
2.2 删除集合中的所有元素clear()
void clear() //删除集合中的所有元素
2.3判断集合是否没有任何元素isEmpty()
boolean isEmpty() //判断集合是否没有任何元素,俗称空集合
2.4 删除集合中元素remove()
boolean remove(Object e) //如果元素 e 出现在集合中,删除其中一个
2.5 判断集合中元素个数size()
int size() //返回集合中的元素个数
2.6 返回一个装有所有集合中元素的数组
Object[] toArray() //返回一个装有所有集合中元素的数组

示例:

public static void main(String[] args) {
        Collection collection = new ArrayList();
        collection.add("hello");
        collection.add("world");
        System.out.println(collection);//[hello, world]
        System.out.println(collection.size());//返回集合中的元素个数 2
        //true
        Object[] objects = collection.toArray();
        System.out.println(Arrays.toString(objects));//[hello,world]
    }
三、Map接口常用方法说明 3.1 根据指定的k查找对应的v(get)

方式一:

V get(Object k) //根据指定的 k 查找对应的 v

方式二:

V getOrDefault(Object k, V defaultValue) //根据指定的 k 查找对应的 v,没有找到用默认值代替
3.2 将指定的 k-v 放入Map(put)
V put(K key, V value) //将指定的 k-v 放入 Map
3.3 判断是否包含key(containskey)
boolean containskey(object key) //判断是否包含key
3.4 判断是否包含value(containsvalue)
boolean containsvalue(object value) //判断是否包含value
3.5 判断是否为空 isEmpty()
boolean isEmpty() //判断是否为空
3.6 返回键值对的数量size()
int size() //返回键值对的数量

示例:

  public static void main(String[] args) {
        Map map = new HashMap<>();
//        Map map2 = new TreeMap<>();
        map.put("你是","you are");
        map.put("及时雨","松江");
        String ret = map.get("你是");//根据key值获取val值
        String ret2 = map.getOrDefault("你是","谁");//根据key值获取val值
        //如果key值有的话,则返回对应key值的val,如果key值没有,则返回getOrDefault中得val  上面代码返回的值是you are
        // String ret2 = map.getOrDefault("你是2","谁"); //谁
        System.out.println(ret);//you are
        System.out.println(ret2);//you are
        boolean flg = map.containsKey("你是");
        System.out.println(flg);//true
        boolean flg2 = map.containsValue("宋江");
        System.out.println(flg2);//false
        boolean flg3 = map.isEmpty();
        System.out.println(flg3);//false
        System.out.println(map.size());//2
    }
3.7 将所有键值对返回entrySet()
Set> entrySet() //将所有键值对返回

示例:

 public static void main(String[] args) {
        Map map = new HashMap<>();//没有比较
        //Map map = new TreeMap<>();//进行比较了
        map.put("你是","you are");
        map.put("及时雨","宋江");
        System.out.println(map);
        System.out.println("=============");
        Set> entrySet = map.entrySet();
        for (Map.Entry entry:entrySet) {
            System.out.println("key:"+entry.getKey()+" value:"+entry.getValue());
        }
    }

以上。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5636573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存