0%

Windows查看端口占用情况

1
netstat -ano | findstr <port>

杀掉进程

1
taskkill /pid /f <port>

Linux 查看端口占用情况

1
lsof -i:<port>

判断字符串中是否包含简体、繁体中文,或者简体和繁体之间的转换,可以使用如下API。

maven项目,添加如下依赖。

1
2
3
4
5
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>opencc4j</artifactId>
<version>1.7.2</version>
</dependency>
1
2
3
ZhConverterUtil.isTraditional("中華");

ZhConverterUtil.toSimple("中華");

有个需求是合并两个map,并对相同key的元素的value进行求和。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public static void main(String[] args) {

List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("B");
list.add("B");
list.add("C");
list.add("A");
list.add("D");

Map<String, Long> map = list.stream().collect(Collectors.groupingBy(k -> k, Collectors.counting()));
System.out.println("map: " + map);

List<String> list2 = new ArrayList<>();
list2.add("B");
list2.add("B");
list2.add("B");
list2.add("B");
list2.add("B");
list2.add("C");
list2.add("A");

Map<String, Long> map2 = list2.stream().collect(Collectors.groupingBy(k -> k, Collectors.counting()));

System.out.println("map2: " + map2);

map2.forEach((k, v) -> map.merge(k, v, (v1, v2) -> v1 + v2));

System.out.println("map: " + map);
}

假如说有以下List,List的元素存放的数据为:苹果:2, 香蕉:3 类似这样的数据。要统计每类水果的数量。

1
2
3
4
5
6
7
8
9
10
11
Map<String, Integer> fruitCountMap = fruitStrList.stream()
// 过滤掉空字符串
.filter(StringUtils::isNotEmpty)
// 按逗号拆分,并压平
.flatMap(row -> Arrays.stream(row.split(",")))
// 生成map,相同的Key,累加value
.collect(Collectors.toMap(
entry -> entry.split(":")[0],
entry -> Integer.parseInt(entry.split(":")[1]),
Integer::sum)
);