leetcode刷题笔记

关于数组的一些用法

数组排序

Java中可以使用Arrays类的sort()方法对数组进行排序。

Arrays.sort(arr); // 调用Arrays类的sort()方法对数组进行排序

关于ArrayList的用法

将几个零散的数值转化为ArrayList

Arrays.asList(nums[i], nums[left], nums[right])

关于map的一些用法

Map map = new HashMap<>();

map.containsKey(c2);

map.getOrDefault(c1,0);

map.put(c1, map.getOrDefault(c1,0) + 1);


遍历map的方法

1. entrySet

entrySet是java中 键-值对的集合,Set里面的类型是Map.Entry,一般可以通过map.entrySet()得到。

  • entrySet实现了Set接口,里面存放的是键值对。一个K对应一个V。
System.out.println("通过Map.entrySet遍历key和value");

Set> entryseSet=map.entrySet();

for (Map.Entry entry:entryseSet) {

    System.out.println(entry.getKey()+","+entry.getValue());

}

// 即通过getKey()得到K,getValue得到V。

2. keySet

还有一种是keySet, keySet是键的集合,Set里面的类型即key的类型

System.out.println("通过Map.keySet遍历key和value:");

Set set = map.keySet();

for (String s:set) {

    System.out.println(s+","+map.get(s));

}

3. 通过Map.values()遍历所有的value,但不能遍历key

//第四种
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
    System.out.println("value= " + v);
}

关于set的一些用法

Set testSet = new HashSet();

testSet.add("Java");

set1.contains(i)  // 很好用 效率高

数组和Set互转  

常用方法 数组转为Set
        由于nums1是int[ ]  居然会报错! 

Set set1 = new HashSet<>(Arrays.asList(nums1));

注意:

数组转为set  就老老实实遍历吧!

Set set1 = new HashSet<>();
for(int num : nums1){
    set1.add(num);
}

set 转为数组 也就老老实实一个个填吧!

Set res = new HashSet<>();
int[] result = new int[res.size()];
int j = 0;
for(Integer num : res){
    result[j++] = num;
}

当然可以使用更加高级的stream流

resSet.stream().mapToInt(x -> x).toArray();

你可能感兴趣的:(java,前端,javascript)