当前位置: 首页> 教育> 锐评 > HashMap-leetcode总结

HashMap-leetcode总结

时间:2025/7/11 15:24:31来源:https://blog.csdn.net/m0_74837900/article/details/141433622 浏览次数:0次

为什么用Hashmap?

将两种属性(key,value)具有某种联系,需要保存下来

随时读取是否存在且通过一方获取它对应值

数据结构

一数值value经过hashcode()计算出key,key对应数组位置建立链表


HashMap常用方法

1、HashMap的初始化

HashMap<key数据类型,value数据类型>

泛型内第一个为key的类型;第二个为value的类型

一般为各语言八大基本属性

    HashMap<Character, Integer> hashMap = new HashMap<>();

2、HashMap的常用方法

添加一对键值对

hashmap.put(你的key,你的value)

通过key获取对应value值

<T> value = hashMap.get(key)

获取value,没有可赋初值

hashMap.getOrDefault(key,初始值);

判断是否存入该键

hashMap.containsKey(待检查key)

判断是否存入该值

hashMap.constainsValue(待检查value)

获取hashmap内所有value

HashMap<String[],Integer> hashMap = new HashMap<>();
public void test(){hashMap.values();}

获取所有key

HashMap<String[],Integer> hashMap = new HashMap<>();
public void test(){hashMap.keySet();}

一些其他的知识点

1、Java遍历数组方法

只获取数组的每个元素

解题不需要元素相对位置(即索引值)

ArrayList<String> list = new ArrayList<>();
list.add("zj");
list.add("hxl");for (String name :list){System.out.println(name);}

同时获取数组索引和对应元素

题目需要用到索引就这个

 for (int i = 1;i<nums.length;++i){ }

2、字符串与字符的转换

一般获取与函数返回值为字符串或字符串数组

但是算法进行比较等逻辑处理,需要按照字符型char来

从String ->Character

随时使用索引i对应的元素

String str = "zhoujun798";
ArrayList<Character> arr = new ArrayList<>();for (int i =0;i<str.length();++i){arr.add(str.charAt(i));}

创建一个char数组,快速把字符转转换进数组

String str = "hxl_521"
char[] array = str.toCharArray;

从Character -> String

StringBuilder builder = new StringBuilder();public String getStr(Char[] arr){ for (int i =0;i<arr.size);++i){builder.append(arr[i]);}return builder.toString();
}

String内分段

String[] words = t.split("分段字符");//表示按空格分割,空格不算任何字符串里面去
String[] words = t.split("\\s");

3、数组便捷操作

sort排序

一般数组不用特地写冒泡,选择排序之类的方法,系统自带java静态方法

这个方法适用于整型(int[])、长整型(long[])、浮点型(float[]double[])、字符型(char[])、以及对象的数组(如 String[] 或任何实现了 Comparable 接口的类的对象数组)。

数字按从小到大顺序,字符与字符串

  ArrayList<String> list = new ArrayList<>();public String[] test(String[] str){Arrays.sort(str);return str;}

copy整体赋值

String[] original = {"Apple", "Banana"};  
String[] copy01 = Arrays.copyOf(original, original.length); // 副本1
String[] copy02 = Systom.arraycopy(original,original.length);// 副本2

关键字:HashMap-leetcode总结

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: