刷题用String, Arrays, 的方法

1 Arrays

1. 截取数组

int[] arr2 = Arrays.copyOfRange(int[] original, int from, int to)
  • original − 这是要从中复制范围的数组。
  • from − 这是要复制的范围的初始索引,包括在内。
  • to − 这是要复制的范围的最终索引,不包括在内

返回数组的长度将是 to - from

2. 排序数组

Arrays.sort(nums);

3. 返回指定数组的列表(数组和集合之间的桥梁)

resList.add(new ArrayList<>(Arrays.asList(nums[i],nums[j],nums[k])));

4. 填充数组

Arrays.fill(arr, 0);

把数组填充为0

2 String

1. 转为字符数组

String str = " Java was developed by James Gosling";
char retval[] = str.toCharArray();

java.lang.String.toCharArray() 方法将此字符串转换为新的字符数组。

2. 返回String某索引处的char值

str.charAt(4)

3. 从字符串里提取整型

int a = Integer.parseInt("12");

将字符串参数 s 解析为有符号十进制整数。

3 List

ArrayList

1. 插入元素到末尾

list.add(num);

此方法将指定元素附加到此列表的末尾。

2. 获取指定位置元素

list.get(index);

此方法返回此列表中指定位置的元素。

3. 将HashSet转为ArrayList

return new ArrayList<>(set);

ArrayList 提供了一个构造函数,可以接受任何实现了 Collection 接口的对象作为参数。由于 HashSet 实现了 Set 接口,而 Set 又是 Collection 的子接口

4. 获取ArrayList的元素个数

numList.size()

LinkedList

1. 判断是否为空

list.isEmpty()

继承自AbstractCollection类的方法

2. 返回list最后一个元素

java.util.LinkedList.getLast() 方法返回此列表中的最后一个元素。

list.getLast()

3. 此list的末尾插入指定的元素

java.util.LinkedList.addLast(E e) 方法在此列表的末尾插入指定的元素。

list.addLast("Element");

4. 删除并返回此列表中的最后一个元素。

list.removeLast()

4 Set

HashSet

1. 声明

Set<Character> set = new HashSet<>();

2. 判断集合是否包含某个元素

boolean true = set.contains(cur);

3. 添加元素

newset.add("Simply");

4. 移除元素

newset.remove("Easy");

5. 将ArrayList转换为HashSet

HashSet 的构造函数可以接受任何实现了 Collection 接口的对象,而 ArrayList 实现了 List 接口,List 又是 Collection 的子接口

Set<List<Integer>> set = new HashSet<>(resList);

5 Map

HashMap

1. 判断包含Key

if(hashmap.containsKey(key)){}

如果此映射包含指定键的映射,则此方法返回 true。

2. 返回key对应的value

hashmap.get(key);

此方法返回指定键映射到的值,如果此映射不包含该键的映射,则返回 null。

3. 去除key对应的entry

hashMap.remove(key);

此方法从该映射中删除指定键的映射(如果存在)。

4. 放一对key-value

hashMap.put(key,node);

6. Random 获取随机值

// create random object
Random rand = new Random();
rand.nextInt(n);
int pivot = list.get(rand.nextInt(list.size()));

方法调用返回一个伪随机、均匀分布的 int 值,介于 0(包括)和 n(不包括)之间。

然后我们用ArrayList取数,是另一种写法

7. PrioirityQueue 小顶堆

1. 创建优先队列

PriorityQueue<Task> queue = new PriorityQueue<>(
    (o1, o2) -> {
        if (o1.priority != o2.priority) {
            return Integer.compare(o1.priority, o2.priority);
        } else {
            return Integer.compare(o1.order, o2.order);
        }
    }
);

Java 的 PriorityQueue 默认是小顶堆,即:小的元素排在前面,先出队。
PriorityQueue 的顺序 不由它本身控制排序规则,而是完全由你传入的 Comparator 控制!

  1. 从小到大排序(升序):小的优先(默认)
  • Queue minHeap = new PriorityQueue<>((a, b) -> Integer.compare(a, b));
  1. 从大到小排序(降序):大的优先
  • Queue maxHeap = new PriorityQueue<>((a, b) -> Integer.compare(b, a));

2. 确定顺序用的Integer.compare(a,b)方法

public static int compare(int x, int y)
对两个 int 值进行数值比较。
返回值:
如果 x == y,则返回 0;如果 x < y,则返回小于 0 的值;如果 x > y,则返回大于 0 的值

3. 插入元素放到队列里

queue.offer(task);
或者 queue.add(task);

4. 获取并删除队列头部

currentTask = queue.poll();

5. 检索但不删除此队列的头部

Task topTask = queue.peek();

9. 输入输出处理

在 Java 中,trim() 是 String 类的一个方法,用于去除字符串首尾的空白字符,包括:

  • 空格(space)' '
  • 制表符(tab)\t
  • 换行符(newline)\n
  • 回车符(carriage return)\r
posted @ 2025-05-02 13:20  kuki'  阅读(17)  评论(0)    收藏  举报