import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
/**
* @Author: liyue
* @Date: 2023/05/25/14:49
* @Description:
*/
public class PrintUtil {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("sdfsfsffsfsfsljfsfs121231231sfsfFsfsfdf", "121313123");
map.put("12312313", "1231231");
map.put("1", "2");
map.put("1212", "你好");
map.put("嗨", "你好");
map.put("嗨", "sdaff");
print(map);
}
/**
* 打印map,key里面含有中文时会偏移
*/
public static void print(Map map) {
// key 和 value 之间的最小间隙
int interval = 20;
int max = map.keySet().stream()
.max(Comparator.comparingInt(String::length))
.orElse("").toString()
.length();
// 打印
map.keySet().stream()
.sorted()
.forEach(k -> {
int i = max - k.toString().length() + interval;
String join = String.join("", Collections.nCopies(i, " "));
System.out.println(String.format("%s%s%s", k, join, map.get(k)));
});
}
}
Java 常用工具类(33) : 格式化打印map
于 2023-05-25 14:58:08 首次发布