zoukankan      html  css  js  c++  java
  • LeetCode 哈希表 217 存在重复元素(HashSet语法 集合框架复习)

     一道较简单的题目,但借此机会要好好熟悉一下Hashset和Hashmap的基本操作。

    class Solution {
        public boolean containsDuplicate(int[] nums) {
            HashSet<Integer> set=new HashSet<>();
            for(int num :nums)
            {
                if(!set.add(num))
                {
                    return true;
                }
            }
            return false;
    
        }
    }

     

    这里扯一点集合框架的东西

    最初大家都是用的数组

    int[] num1=new int[10];//带大小
    int[] num2={0,1,2,3,4};//直接
    int[][] num3=new int[5][5];
    int[][] num4={{0,1},{1,2}};
    sout(num1.length); sout(num1[0]); for(int num:num1) { sout(num); }

     但是数组存在一些问题:

    • 定长的,无法动态调整大小
    • 不好删除某个元素(实际上还是定长的问题)

    所以有了集合框架,主要就是List,Set,Map三种,继承关系如下:

     最基本的一个ArrayList的创建:这里的ArrayList中每个元素的类型实际上是Object类

    ArrayList arrayList=new ArrayList();

    当我们使用多态时,会变成这样:

    List arrayList=new ArrayList();

    当我们需要规范集合中元素类型时,使用泛型(先写new再ctrl+alt+v补全声明):

    List<Integer> list=new ArrayList<Integer>();
  • 相关阅读:
    sublimetext插件安装
    解决Nextcloud 无法删除目录
    常用文章信息
    使用豆瓣的pip源安装python模块
    top命令的使用
    Centos 7 防火墙 firewalld 简单使用说明
    CentOS 7 时间同步方法
    二进制
    字典
    集合
  • 原文地址:https://www.cnblogs.com/take-it-easy/p/13176097.html
Copyright © 2011-2022 走看看