zoukankan      html  css  js  c++  java
  • java集合-set

    java集合-set


    • Map用于存储key-value的映射,其中key的值是不能重复的。并且还需要正确的覆写equals方法和hashCode方法
    • 如果我们只需要存储不重复的key,并不需要存储对应的value值,就可以使用set
    • set用于存储不重复的元素集合,主要提供以下几种方法:
      • 将元素添加进Set:boolean add(E e)
      • 将元素从Set删除:boolean remove(Object e)
      • 判断是否包含元素:boolean contains(Object e)

    1. Set实际上相当于只存储key、不存储value的Map。我们经常用Set用于去除重复元素
    2. 原因是:set中的key和map中的key一样,都需要严格的实现equals和hashCode方法,否则无法正确方法set元素
    3. Set接口并不保证有序,而SortedSet接口则保证元素是有序的:
    	* HashSet是无序的,因为它实现了Set接口,并没有实现SortedSet接口;
    	* TreeSet是有序的,因为它实现了SortedSet接口。
    

    hashSet的输出:

    public class Main {
        public static void main(String[] args) {
            Set<String> set = new HashSet<>();
            set.add("apple");
            set.add("banana");
            set.add("pear");
            set.add("orange");
            for (String s : set) {
                System.out.println(s);
            }
        }
    }
    

    遍历TreeSet时,输出就是有序的,这个顺序是元素的排序顺序:

    public class Main {
        public static void main(String[] args) {
            Set<String> set = new TreeSet<>();
            set.add("apple");
            set.add("banana");
            set.add("pear");
            set.add("orange");
            for (String s : set) {
                System.out.println(s);
            }
        }
    }
    

    Queue

    队列Queue实现了一个先进先出(FIFO)的数据结构:
    
    通过add()/offer()方法将元素添加到队尾;
    通过remove()/poll()从队首获取元素并删除;
    通过element()/peek()从队首获取元素但不删除。
    要避免把null添加到队列。
    

    博客网站 https://yamon.top 个人网站 https://yamon.top/resume GitHub网站 https://github.com/yamonc 欢迎前来访问
  • 相关阅读:
    项目管理__项目验收材料
    机器学习----机器学习概述、机器学习的应用及典型相关算法
    机器学习--线性回归
    centos7.2密码在单用户下面的修改
    网络故障排查
    业务数据模型短暂思考整理
    mysql--->安装
    powershell
    常见面试题
    接口
  • 原文地址:https://www.cnblogs.com/chenyameng/p/11441474.html
Copyright © 2011-2022 走看看