java Stream API流接口

原创
2021/03/18 23:24
阅读数 147
import java.math.BigInteger;
import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;

public class StreamMain {
    public static Stream<String> letters(String s){
        List<String> result = new ArrayList<>();
        for(int i = 0; i < s.length(); i++){
            result.add(s.substring(i, i+1));
        }
        return result.stream();
    }

    public static void main(String[] args) throws Exception{

//        String contents = Files.readString(Paths.get("D:\\project\\测试.txt"), StandardCharsets.UTF_8);
        String contents = "https://my.oschina.net/penngo";

//        List<String> lines = Files.readAllLines(Paths.get("D:\\project\\测试.txt"), StandardCharsets.UTF_8);
        List<String> lines = Arrays.asList(contents.split("\\/"));
        lines.forEach(line->{
            System.out.println(line);
        });
        String[] strs = new String[]{"a", "ab", "abc"};

        // filter产生满足条件的流
        long count = lines.stream().filter(line->line.indexOf("penngo") > -1).count();
        System.out.println("count=" + count);

          // parallelStream并行流
        long count2 = lines.parallelStream().filter(line->line.indexOf("penngo") > -1).count();
        System.out.println("count2=" + count2);

        // 创建流
        Stream<String> stream1 = Stream.of(strs);
        // 创建随机数流
        Stream<Integer> stream2 = Stream.generate(() -> new Random().nextInt(10));
        stream2.limit(10).forEach(e -> System.out.println("创建随机数流===" + e));

        // iterate产生一个获取流的迭代器,自增加1
        Stream<BigInteger> integers = Stream.iterate(BigInteger.ZERO, n->n.add(BigInteger.ONE));
        integers.limit(10).forEach(e -> System.out.println("自增迭代器=" + e));

        // 通过正则切割产生流
        Stream<String> words = Pattern.compile(",").splitAsStream(contents);
        words.forEach(e -> System.out.println("正则切割产生流==" + e));

        // map,对流中元素进行计算,并产生新的流
        Stream<String> firstLetters = lines.stream().map(s->s + "[penngo]");
        firstLetters.forEach(e -> System.out.println("字符串流==" + e));

        Stream<Stream<String>> result = lines.stream().map(s->letters(s));
        result.forEach(s -> System.out.println("map字符列表流==" + ToolUtil.toJson(s.toArray())));

        // flatMap,对流中元素进行计算,并产生新的流,
        // 与map相比,map计算结果可以产生子流,结果Stream<Stream<String>>;flatMap会合并子流,结果Stream<String>
        Stream<String> flatResult = lines.stream().flatMap(s->letters(s));
        flatResult.forEach(e -> System.out.println("flatMap字符串流==" + e));

        // limit(10) 获取前10个元素
        Stream<Double> randoms = Stream.generate(Math::random).limit(10);
        randoms.forEach(e -> System.out.println("limit==" + e));

        // skip跳过1个元素
        Stream<String> words2 = Stream.of(contents.split("\n")).skip(1);
        words2.forEach(e -> System.out.println("skip==" + e));

        // concat合作两个流
        Stream<String> combined = Stream.concat(letters("hello"), letters("world"));

        // distinct去掉流中重复的元素
        Stream<String> uniqueWords = Stream.of("hello", "hello", "world").distinct();
//        Stream<List<String>> uniqueWords = Stream.of(Arrays.asList("hello", "1"), Arrays.asList("hello", "1"), Arrays.asList("world","1")).distinct();
        uniqueWords.forEach(e -> System.out.println("distinct==" + e));

        // sorted对流中元素排序
        Stream.of(strs)
                .sorted(Comparator.comparing(String::length).reversed())
                .forEach(e -> System.out.println("sorted排序1==" + e));
        Stream.of(strs)
                .sorted((s1, s2)-> s1.length() >= s2.length() ? 1 : -1)
                .forEach(e -> System.out.println("sorted排序2==" + e));
        // peek根据原来元素产生新的流,在获取每个元素时,可以对其进行处理,但不记录处理结果
        Stream.iterate(1.0, p -> p * 2)
                .peek(e-> System.out.println("Fetch:" + e))
                .limit(10).forEach(System.out::println);

        // max,min,findFirst,findAny,anyMatch,allMatch,noneMatch返回指定的元素,并使用Optional包装
        Optional<String> indexString = lines.stream().filter(s->s.indexOf("广东1") > -1).findFirst();
//        System.out.println("2indexString=" + indexString.orElseGet(()->Locale.getDefault().getDisplayName()));
//        System.out.println("2indexString=" null+ indexString.orElseThrow(IllegalStateException::new));

        // Optional.of()不允许null值,Optional.ofNullable()
        Optional.ofNullable("a").ifPresent(v-> System.out.println("ifPresent数据存在==" + v));
        // null时不会执行内容方法
        Optional.ofNullable(null).ifPresent(v-> System.out.println("ifPresent数据不存在==" + v));

        Optional added = Optional.ofNullable("hello").map(v->v + " world");
        System.out.println("Optional map===" + added);

        // 流转换为其它类型
        String[] data1 = Stream.of(strs).toArray(String[]::new);
        System.out.println("类型转换data1==" + ToolUtil.toJson(data1));
        List<String> data2 = Stream.of(strs).collect(Collectors.toList());
        System.out.println("类型转换data2==" + data2);
        Set<String> data3 = Stream.of(strs).collect(Collectors.toSet());
        System.out.println("类型转换data3==" + data3);
        TreeSet data4 = Stream.of(strs).collect(Collectors.toCollection(TreeSet::new));
        System.out.println("类型转换data4==" + data4);
        String data5 = Stream.of(strs).collect(Collectors.joining(","));
        System.out.println("类型转换data5==" + data5);

        // 生成统计的收集器(个数、总和、平均值、最大、最小)
        IntSummaryStatistics summary = Stream.of(strs).collect(Collectors.summarizingInt(String::length));
        System.out.println("Average==" + summary.getAverage() + ",Max==" + summary.getMax());

        // List映射为Map
        Map<String,Integer> map1 = Stream.of(strs).collect(Collectors.toMap(String::valueOf, String::length));
        System.out.println("流转换为map1==" + map1);
        Map<String,Integer> map2 = Stream.of(strs).collect(Collectors.toMap(key->key + "_key", value->value.length() + 4,
                (value1, value2)->value1.equals(value2) == true ? value1 : value2, TreeMap::new));
        System.out.println("流转换为map2==" + map2);

        // 分组
        Stream<Locale> locals = Stream.of(Locale.getAvailableLocales());
        Map<String, Set<String>> countryLanguageSets = locals.collect(Collectors.toMap(l->l.getDisplayCountry(), l->Collections.singleton(l.getDisplayName()),
                (a,b)->{
                    Set<String> union = new HashSet<String>(a);
                    union.addAll(b);
                    return union;
                }));
        System.out.println("流转换为map countryLanguageSets==" + countryLanguageSets);
        // groupingBy 分组
        Map<String, List<Locale>> countryToLocals = Stream.of(Locale.getAvailableLocales()).collect(Collectors.groupingBy(Locale::getDisplayCountry));
        System.out.println("groupingBy分组==" + countryToLocals);

        // 分区partitioningBy,只返回true和false两类元素
        Map<Boolean, List<Locale>> englishOrOtherLocals = Stream.of(Locale.getAvailableLocales()).collect(
                Collectors.partitioningBy(l->l.getLanguage().equals("en"))
        );
        System.out.println("artitioningBy分区=" + englishOrOtherLocals.get(true));

        Map<String, Set<Locale>> countryToLocals2 = Stream.of(Locale.getAvailableLocales()).collect(Collectors.groupingBy(Locale::getCountry, Collectors.toSet()));
        System.out.println("groupingBy分组countryToLocals2==" + countryToLocals2);

        // Collectors.counting()统计个数
        Map<String, Long> countryToLocals3 = Stream.of(Locale.getAvailableLocales()).collect(Collectors.groupingBy(Locale::getCountry, Collectors.counting()));
        System.out.println("Collectors.counting()统计个数=" + countryToLocals3);

        // Collectors.summingInt计算总和
        Map<String, Integer> stata = Stream.of(strs).collect(Collectors.groupingBy(String::valueOf, Collectors.summingInt(String::length)));
        System.out.println("summingInt计算总和====" + stata);

        Map<String, Optional<String>> stataMax = Stream.of(strs).collect(Collectors.groupingBy(String::valueOf, Collectors.maxBy(Comparator.comparing(String::length))));
        System.out.println("1maxBy===" + stataMax);


        List<List<String>> servers = Arrays.asList(Arrays.asList("aa","111"), Arrays.asList("bb","333"), Arrays.asList("aa","222"));
        Stream<List<String>> listStream = servers.stream();
        System.out.println(listStream.collect(Collectors.groupingBy(s-> s.get(0),
                Collectors.maxBy(Comparator.comparing(s1->{
                    System.out.println("2maxBy===" + s1);
                    return Integer.valueOf(s1.get(1));
                }))
        )));
        // {bb=Optional[[bb, 333]], aa=Optional[[aa, 222]]}
        int result3 = Stream.of(strs).reduce(0, (total,word)->total + word.length(), (total1, total2)->total1 + total2);
//        int result = stream.reduce(0, (total,word)->total + word.length(), (total1, total2)->total1 + total2);
        System.out.println("reduce===" + result3);

        // 基本类型流IntStream、LongStream、DoubleStream
        IntStream.range(0,5).forEach(System.out::println);
        IntStream.rangeClosed(0,5).forEach(System.out::println);

        // boxed把基本类型流转为对象流
        Stream<Integer> integerStream = IntStream.range(0,100).boxed();
    }

}

运行结果

https:

my.oschina.net
penngo
count=1
count2=1
创建随机数流===1
创建随机数流===1
创建随机数流===9
创建随机数流===1
创建随机数流===7
创建随机数流===0
创建随机数流===0
创建随机数流===9
创建随机数流===2
创建随机数流===8
自增迭代器=0
自增迭代器=1
自增迭代器=2
自增迭代器=3
自增迭代器=4
自增迭代器=5
自增迭代器=6
自增迭代器=7
自增迭代器=8
自增迭代器=9
正则切割产生流==https://my.oschina.net/penngo
字符串流==https:[penngo]
字符串流==[penngo]
字符串流==my.oschina.net[penngo]
字符串流==penngo[penngo]
map字符列表流==["h","t","t","p","s",":"]
map字符列表流==[]
map字符列表流==["m","y",".","o","s","c","h","i","n","a",".","n","e","t"]
map字符列表流==["p","e","n","n","g","o"]
flatMap字符串流==h
flatMap字符串流==t
flatMap字符串流==t
flatMap字符串流==p
flatMap字符串流==s
flatMap字符串流==:
flatMap字符串流==m
flatMap字符串流==y
flatMap字符串流==.
flatMap字符串流==o
flatMap字符串流==s
flatMap字符串流==c
flatMap字符串流==h
flatMap字符串流==i
flatMap字符串流==n
flatMap字符串流==a
flatMap字符串流==.
flatMap字符串流==n
flatMap字符串流==e
flatMap字符串流==t
flatMap字符串流==p
flatMap字符串流==e
flatMap字符串流==n
flatMap字符串流==n
flatMap字符串流==g
flatMap字符串流==o
limit==0.9917739719231637
limit==0.820432805125341
limit==0.9791815403895555
limit==0.25753441375716724
limit==0.6021247992832819
limit==0.7679858541930645
limit==0.6545004461596584
limit==0.9003160715984924
limit==0.9177705194345952
limit==0.29944748265562127
distinct==hello
distinct==world
sorted排序1==abc
sorted排序1==ab
sorted排序1==a
sorted排序2==a
sorted排序2==ab
sorted排序2==abc
Fetch:1.0
1.0
Fetch:2.0
2.0
Fetch:4.0
4.0
Fetch:8.0
8.0
Fetch:16.0
16.0
Fetch:32.0
32.0
Fetch:64.0
64.0
Fetch:128.0
128.0
Fetch:256.0
256.0
Fetch:512.0
512.0
ifPresent数据存在==a
Optional map===Optional[hello world]
类型转换data1==["a","ab","abc"]
类型转换data2==[a, ab, abc]
类型转换data3==[a, ab, abc]
类型转换data4==[a, ab, abc]
类型转换data5==a,ab,abc
Average==2.0,Max==3
流转换为map1=={a=1, ab=2, abc=3}
流转换为map2=={a_key=5, ab_key=6, abc_key=7}
流转换为map countryLanguageSets=={巴西=[西班牙语 (巴西), 葡萄牙语 (巴西)], 泰国=[泰语 (泰国,TH,泰文数字), 泰语 (泰国)], =[, 阿塞拜疆语 (西里尔文), 乌兹别克语, 旺杜语, 桑布鲁语, 乌兹别克语 (西里尔文), 旁遮普语 (阿拉伯文), 隆迪语, 索加语, ccp, 克罗地亚语, 尼昂科勒语, 亚美尼亚语, 瑞士德语, 塞尔维亚语 (西里尔文), 克什米尔语, 马其顿语, 夸西奥语, 夏威夷语, 马切姆语, 班巴拉语, 阿萨姆语, 阿塞拜疆语 (拉丁文), 瓦伊语, 阿塞拜疆语, 卡拜尔语, 切罗基语, 塞尔维亚语, 格陵兰语, 下索布语, 波斯尼亚语, 马恩语, 北方萨米语, 鲁巴加丹加语, 中库尔德语, 科隆语, 卢干达语, 亚罕语, 波斯尼亚语 (拉丁文), 书面挪威语, 希尔哈语 (提非纳文), 粤语 (简体), 富拉语, 泰米尔语, 车臣语, 古西语, 兰博语, 伊纳里萨米语, 阿尔巴尼亚语, 标准摩洛哥塔马塞特语, 西弗里西亚语, 白俄罗斯语, 爱尔兰语, 都阿拉语, 缅甸语, 毛里求斯克里奥尔语, 努埃尔语, 越南语, 旁遮普语, 俄语, 法罗语, 日语, 土耳其语, 蒙当语, 豪萨语, 罗瓦语, 康沃尔语, 孔卡尼语, 祖鲁语, 朱拉语, 南非荷兰语, 马来语, 捷克语, 巴萨语, 绍纳语, 梅塔语, 乌兹别克语 (拉丁文), 吉库尤语, 希尔哈语 (拉丁文), 乌尔都语, 东桑海语, 马库阿语, 布列塔尼语, 北恩德贝勒语, 菲律宾语, 哈萨克语, 马拉地语, 马孔德语, 泰卢固语, 泰语, 中文, 四川彝语, 特索语, 塔马齐格特语, 中文 (简体), 卡姆巴语, 拉科塔语, 保加利亚语, 恩布语, 桑古语, 马赞德兰语, 鞑靼语, 奥里亚语, 马赛语, 英语, 瓦伊语 (拉丁文), 汤加语, 阿姆哈拉语, 斯洛文尼亚语, 沃拉普克语, 德语, 纳马语, 罗曼什语, 蒙古语, 塞纳语, 乌兹别克语 (阿拉伯文), 波斯语, 埃维语, 奥罗莫语, 本巴语, 僧伽罗语, 格鲁吉亚语, 波斯尼亚语 (西里尔文), 卡纳达语, 韩语, 洋卞语, 丹麦语, 提格利尼亚语, 巴菲亚语, 巴斯克语, 阿拉伯语, 教会斯拉夫语, 马耳他语, 斯瓦希里语, 阿斯图里亚斯语, 挪威尼诺斯克语, 梅鲁语, 卢奥语, 高棉语, 拉脱维亚语, 台塔语, 希伯来文, 贝纳语, 瓦尔瑟语, 低地德语, 马拉雅拉姆语, 冰岛语, 维吾尔语, 桑戈语, 温旧语, 中文 (繁体), 印地语, 伊博语, 尼泊尔语, 塞尔维亚语 (拉丁文), 弗留利语, 印度尼西亚文, 波兰语, 信德语, 依地文, 马拉加斯语, 普什图语, 匈牙利语, 世界语, 希尔哈语, 奥塞梯语, 奇加语, 普鲁士语, 加利西亚语, 恩艮巴语, 塔吉克语, 威尔士语, 葡萄牙语, 索马里语, 西桑海语, 希腊语, 卡库语, 克丘亚语, 博多语, 旁遮普语 (果鲁穆奇文), 北桑海语, 意大利语, 爱沙尼亚语, 罗马尼亚语, 林加拉语, 法语, 恩甘澎语, 萨哈语, 古吉拉特语, 加泰罗尼亚语, 约鲁巴语, 卢旺达语, 香巴拉语, 西班牙语, 卡伦金语, 柯尔克孜语, 荷兰语, 卢森堡语, 粤语, 挪威语, 北卢尔语, 土库曼语, 朗吉语, 阿肯语, 老挝语, 芬兰语, 帕雷语, 宗卡语, 卢雅语, 沃洛夫语, 苏格兰盖尔语, 哲尔马语, 瑞典语, 瓦伊语 (瓦依文), 藏语, 孟加拉语, 乌克兰语, 立陶宛语, 卡布佛得鲁语, 粤语 (繁体), 斯洛伐克语, 上索布语], 斯威士兰=[英语 (斯威士兰)], 安道尔=[加泰罗尼亚语 (安道尔)], 委内瑞拉=[西班牙语 (委内瑞拉)], 新西兰=[英语 (新西兰)], 约旦=[阿拉伯语 (约旦)], 柬埔寨=[高棉语 (柬埔寨)], 布隆迪=[英语 (布隆迪), 隆迪语 (布隆迪), 法语 (布隆迪)], 贝宁=[约鲁巴语 (贝宁), 法语 (贝宁)], 加纳=[埃维语 (加纳), 英语 (加纳), 阿肯语 (加纳), 豪萨语 (加纳)], 直布罗陀=[英语 (直布罗陀)], 科特迪瓦=[法语 (科特迪瓦)], 挪威=[挪威语 (挪威), 挪威语 (挪威,Nynorsk), 书面挪威语 (挪威), 北方萨米语 (挪威), 挪威尼诺斯克语 (挪威)], 阿根廷=[西班牙语 (阿根廷)], 纳米比亚=[纳马语 (纳米比亚), 南非荷兰语 (纳米比亚), 英语 (纳米比亚)], 摩尔多瓦=[俄语 (摩尔多瓦), 罗马尼亚语 (摩尔多瓦)], 特立尼达和多巴哥=[英语 (特立尼达和多巴哥)], 库拉索=[荷兰语 (库拉索)], 东帝汶=[葡萄牙语 (东帝汶)], 卡塔尔=[阿拉伯语 (卡塔尔)], 乌兹别克斯坦=[乌兹别克语 (拉丁文,乌兹别克斯坦), 乌兹别克语 (西里尔文,乌兹别克斯坦)], 韩国=[韩语 (韩国)], 巴林=[阿拉伯语 (巴林)], 马绍尔群岛=[英语 (马绍尔群岛)], 哥伦比亚=[西班牙语 (哥伦比亚)], 德国=[下索布语 (德国), 科隆语 (德国), 低地德语 (德国), 德语 (德国), 英语 (德国), 上索布语 (德国)], 立陶宛=[立陶宛语 (立陶宛)], 巴勒斯坦领土=[阿拉伯语 (巴勒斯坦领土)], 英国=[英语 (英国), 康沃尔语 (英国), 苏格兰盖尔语 (英国), 威尔士语 (英国)], 马耳他=[英语 (马耳他), 马耳他语 (马耳他)], 圣文森特和格林纳丁斯=[英语 (圣文森特和格林纳丁斯)], 所罗门群岛=[英语 (所罗门群岛)], 圣巴泰勒米=[法语 (圣巴泰勒米)], 瑞士=[瓦尔瑟语 (瑞士), 葡萄牙语 (瑞士), 法语 (瑞士), 罗曼什语 (瑞士), 意大利语 (瑞士), 英语 (瑞士), 瑞士德语 (瑞士), 德语 (瑞士)], 圣皮埃尔和密克隆群岛=[法语 (圣皮埃尔和密克隆群岛)], 奥地利=[英语 (奥地利), 德语 (奥地利)], 加蓬=[法语 (加蓬)], 意大利=[德语 (意大利), 加泰罗尼亚语 (意大利), 弗留利语 (意大利), 意大利语 (意大利)], 科摩罗=[阿拉伯语 (科摩罗), 法语 (科摩罗)], 瓦努阿图=[法语 (瓦努阿图), 英语 (瓦努阿图)], 芬兰=[伊纳里萨米语 (芬兰), 北方萨米语 (芬兰), 芬兰语 (芬兰), 英语 (芬兰), 瑞典语 (芬兰)], 土耳其=[土耳其语 (土耳其)], 阿鲁巴=[荷兰语 (阿鲁巴)], 法属圣马丁=[法语 (法属圣马丁)], 托克劳=[英语 (托克劳)], 比利时=[德语 (比利时), 法语 (比利时), 英语 (比利时), 荷兰语 (比利时)], 圭亚那=[英语 (圭亚那)], 索马里=[索马里语 (索马里), 阿拉伯语 (索马里)], 埃及=[阿拉伯语 (埃及)], 利比亚=[阿拉伯语 (利比亚)], 叙利亚=[阿拉伯语 (叙利亚), 法语 (叙利亚)], 巴巴多斯=[英语 (巴巴多斯)], 多米尼加共和国=[西班牙语 (多米尼加共和国)], 爱尔兰=[英语 (爱尔兰), 爱尔兰语 (爱尔兰)], 阿尔巴尼亚=[阿尔巴尼亚语 (阿尔巴尼亚)], 中国=[藏语 (中国), 中文 (简体,中国), 中文 (中国), 粤语 (简体,中国), 维吾尔语 (中国), 四川彝语 (中国)], 澳大利亚=[英语 (澳大利亚)], 蒙古=[蒙古语 (蒙古)], 佛得角=[葡萄牙语 (佛得角), 卡布佛得鲁语 (佛得角)], 台湾=[中文 (台湾), 中文 (繁体,台湾)], 萨摩亚=[英语 (萨摩亚)], 奥兰群岛=[瑞典语 (奥兰群岛)], 赤道几内亚=[法语 (赤道几内亚), 西班牙语 (赤道几内亚), 葡萄牙语 (赤道几内亚)], 阿曼=[阿拉伯语 (阿曼)], 巴基斯坦=[信德语 (巴基斯坦), 乌尔都语 (巴基斯坦), 旁遮普语 (阿拉伯文,巴基斯坦), 英语 (巴基斯坦)], 中国澳门特别行政区=[中文 (繁体,中国澳门特别行政区), 英语 (中国澳门特别行政区), 葡萄牙语 (中国澳门特别行政区), 中文 (简体,中国澳门特别行政区)], 卢森堡=[法语 (卢森堡), 卢森堡语 (卢森堡), 葡萄牙语 (卢森堡), 德语 (卢森堡)], 海地=[法语 (海地)], 古巴=[西班牙语 (古巴)], 斯瓦尔巴和扬马延=[书面挪威语 (斯瓦尔巴和扬马延)], 黎巴嫩=[阿拉伯语 (黎巴嫩)], 哥斯达黎加=[西班牙语 (哥斯达黎加)], 法属圭亚那=[法语 (法属圭亚那)], 尼泊尔=[尼泊尔语 (尼泊尔)], 罗马尼亚=[罗马尼亚语 (罗马尼亚)], 卢旺达=[卢旺达语 (卢旺达), 英语 (卢旺达), 法语 (卢旺达)], 利比里亚=[瓦伊语 (拉丁文,利比里亚), 英语 (利比里亚), 瓦伊语 (瓦依文,利比里亚)], 几内亚=[富拉语 (几内亚), 法语 (几内亚)], 纽埃=[英语 (纽埃)], 圣赫勒拿=[英语 (圣赫勒拿)], 安哥拉=[林加拉语 (安哥拉), 葡萄牙语 (安哥拉)], 库克群岛=[英语 (库克群岛)], 吉布提=[阿拉伯语 (吉布提), 索马里语 (吉布提), 法语 (吉布提)], 汤加=[汤加语 (汤加), 英语 (汤加)], 开曼群岛=[英语 (开曼群岛)], 以色列=[英语 (以色列), 希伯来文 (以色列), 阿拉伯语 (以色列)], 墨西哥=[西班牙语 (墨西哥)], 危地马拉=[西班牙语 (危地马拉)], 希腊=[希腊语 (希腊)], 阿富汗=[波斯语 (阿富汗), 乌兹别克语 (阿拉伯文,阿富汗), 普什图语 (阿富汗)], 亚美尼亚=[亚美尼亚语 (亚美尼亚)], 多米尼克=[英语 (多米尼克)], 捷克=[捷克语 (捷克)], 百慕大=[英语 (百慕大)], 休达及梅利利亚=[西班牙语 (休达及梅利利亚)], 新喀里多尼亚=[法语 (新喀里多尼亚)], 保加利亚=[保加利亚语 (保加利亚)], 匈牙利=[匈牙利语 (匈牙利)], 科科斯(基林)群岛=[英语 (科科斯(基林)群岛)], 英属印度洋领地=[英语 (英属印度洋领地)], 波兰=[波兰语 (波兰)], 法国=[法语 (法国), 瑞士德语 (法国), 布列塔尼语 (法国), 加泰罗尼亚语 (法国)], 俄罗斯=[鞑靼语 (俄罗斯), 俄语 (俄罗斯), 奥塞梯语 (俄罗斯), 萨哈语 (俄罗斯), 车臣语 (俄罗斯), 教会斯拉夫语 (俄罗斯)], 斯里兰卡=[泰米尔语 (斯里兰卡), 僧伽罗语 (斯里兰卡)], 荷兰=[英语 (荷兰), 荷兰语 (荷兰), 低地德语 (荷兰), 西弗里西亚语 (荷兰)], 斯洛文尼亚=[英语 (斯洛文尼亚), 斯洛文尼亚语 (斯洛文尼亚)], 瑞典=[北方萨米语 (瑞典), 英语 (瑞典), 瑞典语 (瑞典)], 摩洛哥=[希尔哈语 (提非纳文,摩洛哥), 塔马齐格特语 (摩洛哥), 法语 (摩洛哥), 希尔哈语 (拉丁文,摩洛哥), 标准摩洛哥塔马塞特语 (摩洛哥), 阿拉伯语 (摩洛哥)], 缅甸=[缅甸语 (缅甸)], 基里巴斯=[英语 (基里巴斯)], 冰岛=[冰岛语 (冰岛)], 突尼斯=[法语 (突尼斯), 阿拉伯语 (突尼斯)], 智利=[西班牙语 (智利)], 乍得=[阿拉伯语 (乍得), 法语 (乍得)], 欧洲=[英语 (欧洲)], 马拉维=[英语 (马拉维)], 巴布亚新几内亚=[英语 (巴布亚新几内亚)], 科索沃=[塞尔维亚语 (西里尔文,科索沃), 塞尔维亚语 (拉丁文,科索沃), 阿尔巴尼亚语 (科索沃)], 伯利兹=[西班牙语 (伯利兹), 英语 (伯利兹)], 南非=[英语 (南非), 祖鲁语 (南非), 南非荷兰语 (南非)], 圣多美和普林西比=[葡萄牙语 (圣多美和普林西比)], 马恩岛=[英语 (马恩岛), 马恩语 (马恩岛)], 巴哈马=[英语 (巴哈马)], 马来西亚=[泰米尔语 (马来西亚), 马来语 (马来西亚), 英语 (马来西亚)], 马里=[西桑海语 (马里), 班巴拉语 (马里), 东桑海语 (马里), 法语 (马里)], 葡萄牙=[葡萄牙语 (葡萄牙)], 福克兰群岛=[英语 (福克兰群岛)], 密克罗尼西亚=[英语 (密克罗尼西亚)], 津巴布韦=[绍纳语 (津巴布韦), 英语 (津巴布韦), 北恩德贝勒语 (津巴布韦)], 孟加拉国=[ccp (孟加拉国), 孟加拉语 (孟加拉国)], 菲律宾=[英语 (菲律宾), 菲律宾语 (菲律宾), 西班牙语 (菲律宾)], 多哥=[埃维语 (多哥), 法语 (多哥)], 留尼汪=[法语 (留尼汪)], 瓜德罗普=[法语 (瓜德罗普)], 赞比亚=[本巴语 (赞比亚), 英语 (赞比亚)], 文莱=[马来语 (文莱)], 克罗地亚=[克罗地亚语 (克罗地亚)], 尼日利亚=[约鲁巴语 (尼日利亚), 伊博语 (尼日利亚), 豪萨语 (尼日利亚), 英语 (尼日利亚)], 朝鲜=[韩语 (朝鲜)], 莫桑比克=[葡萄牙语 (莫桑比克), 塞纳语 (莫桑比克), 马库阿语 (莫桑比克)], 泽西岛=[英语 (泽西岛)], 巴拉圭=[西班牙语 (巴拉圭)], 厄立特里亚=[英语 (厄立特里亚), 阿拉伯语 (厄立特里亚), 提格利尼亚语 (厄立特里亚)], 伊拉克=[北卢尔语 (伊拉克), 阿拉伯语 (伊拉克), 中库尔德语 (伊拉克)], 莱索托=[英语 (莱索托)], 越南=[越南语 (越南)], 中非共和国=[桑戈语 (中非共和国), 林加拉语 (中非共和国), 法语 (中非共和国)], 美国=[西班牙语 (美国), 英语 (美国,电脑), 夏威夷语 (美国), 拉科塔语 (美国), 切罗基语 (美国), 英语 (美国)], 梵蒂冈=[意大利语 (梵蒂冈)], 肯尼亚=[恩布语 (肯尼亚), 英语 (肯尼亚), 卡伦金语 (肯尼亚), 卢雅语 (肯尼亚), 马赛语 (肯尼亚), 卢奥语 (肯尼亚), 梅鲁语 (肯尼亚), 索马里语 (肯尼亚), 桑布鲁语 (肯尼亚), 特索语 (肯尼亚), 斯瓦希里语 (肯尼亚), 卡姆巴语 (肯尼亚), 吉库尤语 (肯尼亚), 奥罗莫语 (肯尼亚), 台塔语 (肯尼亚), 古西语 (肯尼亚)], 尼加拉瓜=[西班牙语 (尼加拉瓜)], 法属波利尼西亚=[法语 (法属波利尼西亚)], 巴拿马=[西班牙语 (巴拿马)], 西撒哈拉=[阿拉伯语 (西撒哈拉)], 英属维尔京群岛=[英语 (英属维尔京群岛)], 吉尔吉斯斯坦=[俄语 (吉尔吉斯斯坦), 柯尔克孜语 (吉尔吉斯斯坦)], 老挝=[老挝语 (老挝)], 摩纳哥=[法语 (摩纳哥)], 埃塞俄比亚=[提格利尼亚语 (埃塞俄比亚), 奥罗莫语 (埃塞俄比亚), 阿姆哈拉语 (埃塞俄比亚), 索马里语 (埃塞俄比亚)], 帕劳=[英语 (帕劳)], 诺福克岛=[英语 (诺福克岛)], 圣卢西亚=[英语 (圣卢西亚)], 印度=[马拉地语 (印度), 孔卡尼语 (印度), 泰米尔语 (印度), 博多语 (印度), 孟加拉语 (印度), 旁遮普语 (果鲁穆奇文,印度), 古吉拉特语 (印度), ccp (印度), 乌尔都语 (印度), 克什米尔语 (印度), 尼泊尔语 (印度), 奥里亚语 (印度), 英语 (印度), 泰卢固语 (印度), 藏语 (印度), 卡纳达语 (印度), 马拉雅拉姆语 (印度), 印地语 (印度), 阿萨姆语 (印度)], 塞舌尔=[法语 (塞舌尔), 英语 (塞舌尔)], 毛里塔尼亚=[法语 (毛里塔尼亚), 富拉语 (毛里塔尼亚), 阿拉伯语 (毛里塔尼亚)], 安提瓜和巴布达=[英语 (安提瓜和巴布达)], 蒙特塞拉特=[英语 (蒙特塞拉特)], 伊朗=[波斯语 (伊朗), 马赞德兰语 (伊朗), 中库尔德语 (伊朗), 北卢尔语 (伊朗)], 瑙鲁=[英语 (瑙鲁)], 白俄罗斯=[白俄罗斯语 (白俄罗斯), 俄语 (白俄罗斯)], 格陵兰=[格陵兰语 (格陵兰), 丹麦语 (格陵兰)], 圣基茨和尼维斯=[英语 (圣基茨和尼维斯)], 苏丹=[阿拉伯语 (苏丹), 英语 (苏丹)], 斯洛伐克=[斯洛伐克语 (斯洛伐克)], 阿尔及利亚=[法语 (阿尔及利亚), 卡拜尔语 (阿尔及利亚), 阿拉伯语 (阿尔及利亚)], 加纳利群岛=[西班牙语 (加纳利群岛)], 也门=[阿拉伯语 (也门)], 波斯尼亚和黑塞哥维那=[塞尔维亚语 (西里尔文,波斯尼亚和黑塞哥维那), 塞尔维亚语 (波斯尼亚和黑塞哥维那), 克罗地亚语 (波斯尼亚和黑塞哥维那), 塞尔维亚语 (拉丁文,波斯尼亚和黑塞哥维那), 波斯尼亚语 (拉丁文,波斯尼亚和黑塞哥维那), 波斯尼亚语 (西里尔文,波斯尼亚和黑塞哥维那)], 尼日尔=[法语 (尼日尔), 哲尔马语 (尼日尔), 北桑海语 (尼日尔), 豪萨语 (尼日尔)], 根西岛=[英语 (根西岛)], 格林纳达=[英语 (格林纳达)], 拉脱维亚=[拉脱维亚语 (拉脱维亚)], 喀麦隆=[旺杜语 (喀麦隆), 法语 (喀麦隆), 都阿拉语 (喀麦隆), 亚罕语 (喀麦隆), 巴萨语 (喀麦隆), 英语 (喀麦隆), 蒙当语 (喀麦隆), 恩艮巴语 (喀麦隆), 恩甘澎语 (喀麦隆), 夸西奥语 (喀麦隆), 梅塔语 (喀麦隆), 巴菲亚语 (喀麦隆), 卡库语 (喀麦隆), 洋卞语 (喀麦隆), 富拉语 (喀麦隆)], 印度尼西亚=[印度尼西亚文 (印度尼西亚)], 马其顿=[马其顿语 (马其顿), 阿尔巴尼亚语 (马其顿)], 法罗群岛=[法罗语 (法罗群岛)], 刚果(金)=[斯瓦希里语 (刚果(金)), 鲁巴加丹加语 (刚果(金)), 林加拉语 (刚果(金)), 法语 (刚果(金))], 土库曼斯坦=[土库曼语 (土库曼斯坦)], 格鲁吉亚=[格鲁吉亚语 (格鲁吉亚), 奥塞梯语 (格鲁吉亚)], 关岛=[英语 (关岛)], 荷属加勒比区=[荷兰语 (荷属加勒比区)], 坦桑尼亚=[贝纳语 (坦桑尼亚), 香巴拉语 (坦桑尼亚), 帕雷语 (坦桑尼亚), 朗吉语 (坦桑尼亚), 兰博语 (坦桑尼亚), 英语 (坦桑尼亚), 斯瓦希里语 (坦桑尼亚), 马孔德语 (坦桑尼亚), 罗瓦语 (坦桑尼亚), 温旧语 (坦桑尼亚), 桑古语 (坦桑尼亚), 马切姆语 (坦桑尼亚), 马赛语 (坦桑尼亚)], 塞尔维亚及黑山=[塞尔维亚语 (塞尔维亚及黑山)], 毛里求斯=[法语 (毛里求斯), 英语 (毛里求斯), 毛里求斯克里奥尔语 (毛里求斯)], 瓦利斯和富图纳=[法语 (瓦利斯和富图纳)], 丹麦=[丹麦语 (丹麦), 英语 (丹麦), 法罗语 (丹麦)], 塞尔维亚=[塞尔维亚语 (西里尔文,塞尔维亚), 塞尔维亚语 (塞尔维亚), 塞尔维亚语 (拉丁文,塞尔维亚)], 列支敦士登=[德语 (列支敦士登), 瑞士德语 (列支敦士登)], 波多黎各=[英语 (波多黎各), 西班牙语 (波多黎各)], 洪都拉斯=[西班牙语 (洪都拉斯)], 美属萨摩亚=[英语 (美属萨摩亚)], 萨尔瓦多=[西班牙语 (萨尔瓦多)], 布基纳法索=[法语 (布基纳法索)], 美属维尔京群岛=[英语 (美属维尔京群岛)], 拉丁美洲=[西班牙语 (拉丁美洲)], 特克斯和凯科斯群岛=[英语 (特克斯和凯科斯群岛)], 沙特阿拉伯=[阿拉伯语 (沙特阿拉伯)], 秘鲁=[西班牙语 (秘鲁), 克丘亚语 (秘鲁)], 南苏丹=[阿拉伯语 (南苏丹), 英语 (南苏丹), 努埃尔语 (南苏丹)], 厄瓜多尔=[克丘亚语 (厄瓜多尔), 西班牙语 (厄瓜多尔)], 阿拉伯联合酋长国=[阿拉伯语 (阿拉伯联合酋长国)], 玻利维亚=[西班牙语 (玻利维亚), 克丘亚语 (玻利维亚)], 马约特=[法语 (马约特)], 斐济=[英语 (斐济)], 刚果(布)=[法语 (刚果(布)), 林加拉语 (刚果(布))], 圣诞岛=[英语 (圣诞岛)], 荷属圣马丁=[荷兰语 (荷属圣马丁), 英语 (荷属圣马丁)], 塞浦路斯=[希腊语 (塞浦路斯), 土耳其语 (塞浦路斯), 英语 (塞浦路斯)], 皮特凯恩群岛=[英语 (皮特凯恩群岛)], 圣马力诺=[意大利语 (圣马力诺)], 博茨瓦纳=[英语 (博茨瓦纳)], 不丹=[宗卡语 (不丹)], 马提尼克=[法语 (马提尼克)], 几内亚比绍=[葡萄牙语 (几内亚比绍)], 哈萨克斯坦=[俄语 (哈萨克斯坦), 哈萨克语 (哈萨克斯坦)], 塞拉利昂=[英语 (塞拉利昂)], 阿塞拜疆=[阿塞拜疆语 (西里尔文,阿塞拜疆), 阿塞拜疆语 (拉丁文,阿塞拜疆)], 黑山=[塞尔维亚语 (拉丁文,黑山), 塞尔维亚语 (黑山), 塞尔维亚语 (西里尔文,黑山)], 西班牙=[加利西亚语 (西班牙), 巴斯克语 (西班牙), 加泰罗尼亚语 (西班牙,瓦伦西亚文), 加泰罗尼亚语 (西班牙), 阿斯图里亚斯语 (西班牙), 西班牙语 (西班牙)], 乌克兰=[乌克兰语 (乌克兰), 俄语 (乌克兰)], 乌拉圭=[西班牙语 (乌拉圭)], 迪戈加西亚岛=[英语 (迪戈加西亚岛)], 安圭拉=[英语 (安圭拉)], 苏里南=[荷兰语 (苏里南)], 中国香港特别行政区=[中文 (简体,中国香港特别行政区), 中文 (繁体,中国香港特别行政区), 粤语 (繁体,中国香港特别行政区), 中文 (中国香港特别行政区), 英语 (中国香港特别行政区)], 塔吉克斯坦=[塔吉克语 (塔吉克斯坦)], 乌干达=[奇加语 (乌干达), 斯瓦希里语 (乌干达), 索加语 (乌干达), 卢干达语 (乌干达), 英语 (乌干达), 尼昂科勒语 (乌干达), 特索语 (乌干达)], 加拿大=[法语 (加拿大), 英语 (加拿大)], 日本=[日语 (日本), 日语 (日本,JP,和历)], 爱沙尼亚=[爱沙尼亚语 (爱沙尼亚)], 图瓦卢=[英语 (图瓦卢)], 马达加斯加=[法语 (马达加斯加), 英语 (马达加斯加), 马拉加斯语 (马达加斯加)], 冈比亚=[英语 (冈比亚)], 美国本土外小岛屿=[英语 (美国本土外小岛屿)], 北马里亚纳群岛=[英语 (北马里亚纳群岛)], 新加坡=[英语 (新加坡), 马来语 (新加坡), 中文 (新加坡), 泰米尔语 (新加坡), 中文 (简体,新加坡)], 塞内加尔=[沃洛夫语 (塞内加尔), 富拉语 (塞内加尔), 朱拉语 (塞内加尔), 法语 (塞内加尔)], 科威特=[阿拉伯语 (科威特)], 牙买加=[英语 (牙买加)], 世界=[世界语 (世界), 英语 (世界), 依地文 (世界), 普鲁士语 (世界), 沃拉普克语 (世界), 阿拉伯语 (世界)]}
groupingBy分组=={巴西=[pt_BR, es_BR], 泰国=[th_TH_TH_#u-nu-thai, th_TH], =[, nn, bg, kea, nds, zu, hsb, lv, vo, kkj, mer, sah, br, sk, ml, sv, cs, el, af, smn, dsb, khq, ji, agq, ebu, zh__#Hans, mn, teo, eu, wo, shi__#Tfng, ru, az, fa, nd, kk, az__#Cyrl, tk, hy, shi__#Latn, ksb, luo, lb, ne, no, my, ka, mgh, shi, kl, zh, saq, az__#Latn, ta, lag, bo, bez, kln, kw, vai__#Latn, ksh, ln, pt, gl, sr__#Cyrl, to, ga, qu, et, mua, in, ps, sn, rof, km, zgh, be, gv, es, dua, jgo, gsw, guz, mfe, ja, or, brx, te, sl, ha, sbp, fi, uz, bs__#Cyrl, sr__#Latn, sw, nmg, rm, bn, vai__#Vaii, kn, nnh, gu, lo, zh__#Hant, bs__#Latn, ky, mas, os, am, rw, iw, dav, lrc, ses, ce, mg, mr, ko, ak, seh, kde, dz, mgo, pa__#Guru, ast, yue__#Hans, pa, rn, tg, rwk, hu, twq, bm, tr, cgg, ksf, cy, sq, fr, de, lg, ff, sd, xog, so, kab, ms, nus, prg, ug, hi, vai, vi, dyo, mt, yav, eo, kam, ro, ee, pl, ur, uz__#Arab, se, chr, yue__#Hant, luy, as, it, uk, mzn, ii, tt, naq, tzm, fur, om, asa, fil, uz__#Cyrl, fo, hr, lt, ccp, lkt, is, si, en, ca, ks, nyn, yue, jmc, mk, pa__#Arab, bs, fy, th, ar, haw, dje, bas, uz__#Latn, sg, nl, ckb, sr, bem, da, wae, ig, gd, cu, vun, lu, ki, yo, nb, ti, kok, ewo], 斯威士兰=[en_SZ], 安道尔=[ca_AD], 委内瑞拉=[es_VE], 新西兰=[en_NZ], 约旦=[ar_JO], 柬埔寨=[km_KH], 布隆迪=[fr_BI, en_BI, rn_BI], 贝宁=[fr_BJ, yo_BJ], 加纳=[en_GH, ha_GH, ee_GH, ak_GH], 直布罗陀=[en_GI], 科特迪瓦=[fr_CI], 挪威=[se_NO, no_NO_NY, nb_NO, no_NO, nn_NO], 阿根廷=[es_AR], 纳米比亚=[en_NA, naq_NA, af_NA], 摩尔多瓦=[ru_MD, ro_MD], 特立尼达和多巴哥=[en_TT], 库拉索=[nl_CW], 东帝汶=[pt_TL], 卡塔尔=[ar_QA], 乌兹别克斯坦=[uz_UZ_#Cyrl, uz_UZ_#Latn], 韩国=[ko_KR], 巴林=[ar_BH], 马绍尔群岛=[en_MH], 哥伦比亚=[es_CO], 德国=[dsb_DE, nds_DE, hsb_DE, ksh_DE, de_DE, en_DE], 立陶宛=[lt_LT], 巴勒斯坦领土=[ar_PS], 英国=[en_GB, gd_GB, kw_GB, cy_GB], 马耳他=[en_MT, mt_MT], 圣文森特和格林纳丁斯=[en_VC], 所罗门群岛=[en_SB], 圣巴泰勒米=[fr_BL], 瑞士=[gsw_CH, de_CH, pt_CH, fr_CH, rm_CH, it_CH, wae_CH, en_CH], 圣皮埃尔和密克隆群岛=[fr_PM], 奥地利=[en_AT, de_AT], 加蓬=[fr_GA], 意大利=[de_IT, ca_IT, it_IT, fur_IT], 科摩罗=[ar_KM, fr_KM], 瓦努阿图=[fr_VU, en_VU], 芬兰=[sv_FI, fi_FI, se_FI, en_FI, smn_FI], 土耳其=[tr_TR], 阿鲁巴=[nl_AW], 法属圣马丁=[fr_MF], 托克劳=[en_TK], 比利时=[fr_BE, de_BE, en_BE, nl_BE], 圭亚那=[en_GY], 索马里=[ar_SO, so_SO], 埃及=[ar_EG], 利比亚=[ar_LY], 叙利亚=[ar_SY, fr_SY], 巴巴多斯=[en_BB], 多米尼加共和国=[es_DO], 爱尔兰=[en_IE, ga_IE], 阿尔巴尼亚=[sq_AL], 中国=[bo_CN, yue_CN_#Hans, zh_CN, ii_CN, zh_CN_#Hans, ug_CN], 澳大利亚=[en_AU], 蒙古=[mn_MN], 佛得角=[kea_CV, pt_CV], 台湾=[zh_TW, zh_TW_#Hant], 萨摩亚=[en_WS], 奥兰群岛=[sv_AX], 赤道几内亚=[es_GQ, pt_GQ, fr_GQ], 阿曼=[ar_OM], 巴基斯坦=[en_PK, pa_PK_#Arab, ur_PK, sd_PK], 中国澳门特别行政区=[pt_MO, en_MO, zh_MO_#Hans, zh_MO_#Hant], 卢森堡=[lb_LU, pt_LU, fr_LU, de_LU], 海地=[fr_HT], 古巴=[es_CU], 斯瓦尔巴和扬马延=[nb_SJ], 黎巴嫩=[ar_LB], 哥斯达黎加=[es_CR], 法属圭亚那=[fr_GF], 尼泊尔=[ne_NP], 罗马尼亚=[ro_RO], 卢旺达=[en_RW, rw_RW, fr_RW], 利比里亚=[en_LR, vai_LR_#Latn, vai_LR_#Vaii], 几内亚=[fr_GN, ff_GN], 纽埃=[en_NU], 圣赫勒拿=[en_SH], 安哥拉=[ln_AO, pt_AO], 库克群岛=[en_CK], 吉布提=[fr_DJ, so_DJ, ar_DJ], 汤加=[to_TO, en_TO], 开曼群岛=[en_KY], 以色列=[en_IL, ar_IL, iw_IL], 墨西哥=[es_MX], 危地马拉=[es_GT], 希腊=[el_GR], 阿富汗=[fa_AF, ps_AF, uz_AF_#Arab], 亚美尼亚=[hy_AM], 多米尼克=[en_DM], 捷克=[cs_CZ], 百慕大=[en_BM], 休达及梅利利亚=[es_EA], 新喀里多尼亚=[fr_NC], 保加利亚=[bg_BG], 匈牙利=[hu_HU], 科科斯(基林)群岛=[en_CC], 英属印度洋领地=[en_IO], 波兰=[pl_PL], 法国=[gsw_FR, fr_FR, ca_FR, br_FR], 俄罗斯=[tt_RU, cu_RU, sah_RU, ru_RU, ce_RU, os_RU], 斯里兰卡=[ta_LK, si_LK], 荷兰=[en_NL, fy_NL, nl_NL, nds_NL], 斯洛文尼亚=[sl_SI, en_SI], 瑞典=[sv_SE, se_SE, en_SE], 摩洛哥=[tzm_MA, fr_MA, zgh_MA, ar_MA, shi_MA_#Tfng, shi_MA_#Latn], 缅甸=[my_MM], 基里巴斯=[en_KI], 冰岛=[is_IS], 突尼斯=[fr_TN, ar_TN], 智利=[es_CL], 乍得=[ar_TD, fr_TD], 欧洲=[en_150], 马拉维=[en_MW], 巴布亚新几内亚=[en_PG], 科索沃=[sr_XK_#Cyrl, sr_XK_#Latn, sq_XK], 伯利兹=[en_BZ, es_BZ], 南非=[en_ZA, zu_ZA, af_ZA], 圣多美和普林西比=[pt_ST], 马恩岛=[gv_IM, en_IM], 巴哈马=[en_BS], 马来西亚=[ta_MY, ms_MY, en_MY], 马里=[fr_ML, ses_ML, bm_ML, khq_ML], 葡萄牙=[pt_PT], 福克兰群岛=[en_FK], 密克罗尼西亚=[en_FM], 津巴布韦=[nd_ZW, sn_ZW, en_ZW], 孟加拉国=[bn_BD, ccp_BD], 菲律宾=[fil_PH, es_PH, en_PH], 多哥=[fr_TG, ee_TG], 留尼汪=[fr_RE], 瓜德罗普=[fr_GP], 赞比亚=[en_ZM, bem_ZM], 文莱=[ms_BN], 克罗地亚=[hr_HR], 尼日利亚=[ha_NG, yo_NG, en_NG, ig_NG], 朝鲜=[ko_KP], 莫桑比克=[mgh_MZ, pt_MZ, seh_MZ], 泽西岛=[en_JE], 巴拉圭=[es_PY], 厄立特里亚=[ti_ER, en_ER, ar_ER], 伊拉克=[lrc_IQ, ar_IQ, ckb_IQ], 莱索托=[en_LS], 越南=[vi_VN], 中非共和国=[ln_CF, fr_CF, sg_CF], 美国=[lkt_US, es_US, en_US_POSIX, en_US, haw_US, chr_US], 梵蒂冈=[it_VA], 肯尼亚=[so_KE, kam_KE, om_KE, luy_KE, en_KE, ki_KE, mer_KE, ebu_KE, teo_KE, luo_KE, saq_KE, kln_KE, guz_KE, sw_KE, dav_KE, mas_KE], 尼加拉瓜=[es_NI], 法属波利尼西亚=[fr_PF], 巴拿马=[es_PA], 西撒哈拉=[ar_EH], 英属维尔京群岛=[en_VG], 吉尔吉斯斯坦=[ru_KG, ky_KG], 老挝=[lo_LA], 摩纳哥=[fr_MC], 埃塞俄比亚=[am_ET, ti_ET, om_ET, so_ET], 帕劳=[en_PW], 诺福克岛=[en_NF], 圣卢西亚=[en_LC], 印度=[ne_IN, or_IN, ur_IN, kn_IN, pa_IN_#Guru, mr_IN, bo_IN, brx_IN, te_IN, gu_IN, bn_IN, kok_IN, ks_IN, hi_IN, ml_IN, ta_IN, as_IN, en_IN, ccp_IN], 塞舌尔=[fr_SC, en_SC], 毛里塔尼亚=[ar_MR, fr_MR, ff_MR], 安提瓜和巴布达=[en_AG], 蒙特塞拉特=[en_MS], 伊朗=[fa_IR, lrc_IR, mzn_IR, ckb_IR], 瑙鲁=[en_NR], 白俄罗斯=[be_BY, ru_BY], 格陵兰=[kl_GL, da_GL], 圣基茨和尼维斯=[en_KN], 苏丹=[ar_SD, en_SD], 斯洛伐克=[sk_SK], 阿尔及利亚=[fr_DZ, kab_DZ, ar_DZ], 加纳利群岛=[es_IC], 也门=[ar_YE], 波斯尼亚和黑塞哥维那=[bs_BA_#Latn, sr_BA_#Cyrl, bs_BA_#Cyrl, sr_BA_#Latn, sr_BA, hr_BA], 尼日尔=[ha_NE, dje_NE, twq_NE, fr_NE], 根西岛=[en_GG], 格林纳达=[en_GD], 拉脱维亚=[lv_LV], 喀麦隆=[bas_CM, agq_CM, nmg_CM, nnh_CM, ksf_CM, kkj_CM, fr_CM, mgo_CM, dua_CM, ff_CM, jgo_CM, en_CM, ewo_CM, mua_CM, yav_CM], 印度尼西亚=[in_ID], 马其顿=[sq_MK, mk_MK], 法罗群岛=[fo_FO], 刚果(金)=[sw_CD, ln_CD, fr_CD, lu_CD], 土库曼斯坦=[tk_TM], 格鲁吉亚=[os_GE, ka_GE], 关岛=[en_GU], 荷属加勒比区=[nl_BQ], 坦桑尼亚=[kde_TZ, rwk_TZ, ksb_TZ, en_TZ, asa_TZ, vun_TZ, jmc_TZ, lag_TZ, rof_TZ, bez_TZ, sbp_TZ, sw_TZ, mas_TZ], 塞尔维亚及黑山=[sr_CS], 毛里求斯=[mfe_MU, fr_MU, en_MU], 瓦利斯和富图纳=[fr_WF], 丹麦=[en_DK, da_DK, fo_DK], 塞尔维亚=[sr_RS, sr_RS_#Cyrl, sr_RS_#Latn], 列支敦士登=[gsw_LI, de_LI], 波多黎各=[en_PR, es_PR], 洪都拉斯=[es_HN], 美属萨摩亚=[en_AS], 萨尔瓦多=[es_SV], 布基纳法索=[fr_BF], 美属维尔京群岛=[en_VI], 拉丁美洲=[es_419], 特克斯和凯科斯群岛=[en_TC], 沙特阿拉伯=[ar_SA], 秘鲁=[es_PE, qu_PE], 南苏丹=[nus_SS, en_SS, ar_SS], 厄瓜多尔=[qu_EC, es_EC], 阿拉伯联合酋长国=[ar_AE], 玻利维亚=[es_BO, qu_BO], 马约特=[fr_YT], 斐济=[en_FJ], 刚果(布)=[ln_CG, fr_CG], 圣诞岛=[en_CX], 荷属圣马丁=[en_SX, nl_SX], 塞浦路斯=[en_CY, el_CY, tr_CY], 皮特凯恩群岛=[en_PN], 圣马力诺=[it_SM], 博茨瓦纳=[en_BW], 不丹=[dz_BT], 马提尼克=[fr_MQ], 几内亚比绍=[pt_GW], 哈萨克斯坦=[kk_KZ, ru_KZ], 塞拉利昂=[en_SL], 阿塞拜疆=[az_AZ_#Cyrl, az_AZ_#Latn], 黑山=[sr_ME, sr_ME_#Cyrl, sr_ME_#Latn], 西班牙=[es_ES, ca_ES, ast_ES, eu_ES, ca_ES_VALENCIA, gl_ES], 乌克兰=[uk_UA, ru_UA], 乌拉圭=[es_UY], 迪戈加西亚岛=[en_DG], 安圭拉=[en_AI], 苏里南=[nl_SR], 中国香港特别行政区=[zh_HK_#Hant, zh_HK_#Hans, yue_HK_#Hant, zh_HK, en_HK], 塔吉克斯坦=[tg_TJ], 乌干达=[sw_UG, teo_UG, xog_UG, nyn_UG, lg_UG, cgg_UG, en_UG], 加拿大=[fr_CA, en_CA], 日本=[ja_JP, ja_JP_JP_#u-ca-japanese], 爱沙尼亚=[et_EE], 图瓦卢=[en_TV], 马达加斯加=[fr_MG, en_MG, mg_MG], 冈比亚=[en_GM], 美国本土外小岛屿=[en_UM], 北马里亚纳群岛=[en_MP], 新加坡=[ta_SG, zh_SG_#Hans, zh_SG, ms_SG, en_SG], 塞内加尔=[fr_SN, ff_SN, dyo_SN, wo_SN], 科威特=[ar_KW], 牙买加=[en_JM], 世界=[ji_001, vo_001, prg_001, eo_001, en_001, ar_001]}
artitioningBy分区=[en_NU, en_MS, en_GG, en_JM, en_ZM, en_MT, en_LR, en_GH, en_IL, en_PW, en_VC, en_US_POSIX, en_150, en_KN, en_MO, en_BZ, en_NR, en_MP, en_GD, en_BW, en_AU, en_CY, en_RW, en_IE, en_KI, en_SZ, en_GB, en_AS, en_JE, en_CX, en_AT, en_SX, en_TZ, en_PR, en_BS, en_KE, en_NL, en_SS, en_MG, en_ZA, en_TV, en_PN, en_MH, en_GY, en_NG, en_PK, en_LC, en_TT, en_BM, en_VU, en_US, en_NF, en_GU, en_AI, en_CM, en_TO, en_PG, en_ER, en_PH, en_DM, en_CK, en_BI, en_AG, en_WS, en_NA, en_SL, en_SH, en_KY, en_DK, en_ZW, en_UM, en_TK, en_SI, en_FM, en_BE, en_SG, en_CH, en_SD, en_MY, en_FK, en_GM, en_DG, en_SE, en_001, en, en_SB, en_MW, en_IO, en_DE, en_CC, en_FI, en_SC, en_VI, en_UG, en_NZ, en_FJ, en_BB, en_MU, en_IM, en_LS, en_HK, en_GI, en_CA, en_VG, en_TC, en_IN]
groupingBy分组countryToLocals2=={=[, nn, bg, kea, mg, mr, nds, zu, ko, hsb, lv, ak, seh, kde, dz, mgo, vo, kkj, pa__#Guru, mer, sah, br, sk, ml, ast, yue__#Hans, sv, cs, el, pa, rn, tg, rwk, hu, af, twq, smn, bm, dsb, khq, tr, cgg, ksf, cy, ji, sq, fr, de, agq, ebu, zh__#Hans, lg, ff, mn, sd, teo, eu, wo, shi__#Tfng, xog, so, ru, az, fa, kab, ms, nus, prg, nd, ug, kk, az__#Cyrl, hi, tk, hy, shi__#Latn, vai, vi, dyo, mt, ksb, luo, lb, yav, ne, eo, kam, ro, ee, no, pl, my, ka, ur, mgh, shi, uz__#Arab, kl, se, chr, zh, yue__#Hant, saq, az__#Latn, ta, lag, luy, bo, as, bez, kln, it, uk, kw, vai__#Latn, mzn, ii, tt, ksh, ln, naq, pt, tzm, gl, sr__#Cyrl, fur, om, to, ga, qu, et, asa, mua, in, ps, sn, rof, km, zgh, be, gv, fil, uz__#Cyrl, es, dua, jgo, gsw, fo, hr, lt, guz, mfe, ccp, ja, lkt, or, is, si, brx, en, ca, te, ks, sl, ha, sbp, nyn, yue, jmc, fi, mk, uz, bs__#Cyrl, pa__#Arab, sr__#Latn, sw, bs, fy, nmg, rm, th, bn, ar, vai__#Vaii, haw, kn, dje, nnh, bas, uz__#Latn, sg, gu, lo, nl, zh__#Hant, ckb, bs__#Latn, ky, sr, mas, os, bem, da, wae, ig, gd, am, cu, rw, iw, vun, lu, ki, yo, dav, nb, ti, kok, ewo, lrc, ses, ce], PR=[es_PR, en_PR], PS=[ar_PS], PT=[pt_PT], PW=[en_PW], PY=[es_PY], QA=[ar_QA], AD=[ca_AD], AE=[ar_AE], AF=[uz_AF_#Arab, ps_AF, fa_AF], AG=[en_AG], AI=[en_AI], AL=[sq_AL], AM=[hy_AM], AO=[ln_AO, pt_AO], AR=[es_AR], 001=[prg_001, vo_001, en_001, ji_001, eo_001, ar_001], AS=[en_AS], RE=[fr_RE], AT=[en_AT, de_AT], AU=[en_AU], AW=[nl_AW], AX=[sv_AX], AZ=[az_AZ_#Latn, az_AZ_#Cyrl], RO=[ro_RO], BA=[sr_BA_#Latn, bs_BA_#Latn, hr_BA, sr_BA, bs_BA_#Cyrl, sr_BA_#Cyrl], BB=[en_BB], RS=[sr_RS_#Latn, sr_RS, sr_RS_#Cyrl], BD=[ccp_BD, bn_BD], BE=[fr_BE, en_BE, de_BE, nl_BE], RU=[cu_RU, tt_RU, ru_RU, sah_RU, os_RU, ce_RU], BF=[fr_BF], RW=[en_RW, rw_RW, fr_RW], BG=[bg_BG], BH=[ar_BH], BI=[en_BI, rn_BI, fr_BI], BJ=[fr_BJ, yo_BJ], BL=[fr_BL], BM=[en_BM], BN=[ms_BN], BO=[es_BO, qu_BO], SA=[ar_SA], SB=[en_SB], BQ=[nl_BQ], BR=[es_BR, pt_BR], SC=[en_SC, fr_SC], BS=[en_BS], SD=[en_SD, ar_SD], BT=[dz_BT], SE=[sv_SE, en_SE, se_SE], SG=[ta_SG, en_SG, zh_SG_#Hans, ms_SG, zh_SG], SH=[en_SH], BW=[en_BW], SI=[en_SI, sl_SI], BY=[be_BY, ru_BY], SJ=[nb_SJ], SK=[sk_SK], BZ=[en_BZ, es_BZ], SL=[en_SL], SM=[it_SM], SN=[ff_SN, dyo_SN, fr_SN, wo_SN], SO=[so_SO, ar_SO], CA=[fr_CA, en_CA], SR=[nl_SR], CC=[en_CC], SS=[ar_SS, en_SS, nus_SS], ST=[pt_ST], CD=[sw_CD, fr_CD, ln_CD, lu_CD], SV=[es_SV], CF=[fr_CF, sg_CF, ln_CF], CG=[fr_CG, ln_CG], SX=[en_SX, nl_SX], CH=[en_CH, wae_CH, pt_CH, rm_CH, de_CH, fr_CH, it_CH, gsw_CH], CI=[fr_CI], SY=[ar_SY, fr_SY], SZ=[en_SZ], CK=[en_CK], CL=[es_CL], CM=[ewo_CM, ksf_CM, mua_CM, dua_CM, jgo_CM, bas_CM, kkj_CM, nmg_CM, agq_CM, en_CM, yav_CM, fr_CM, ff_CM, nnh_CM, mgo_CM], CN=[bo_CN, zh_CN, ug_CN, zh_CN_#Hans, yue_CN_#Hans, ii_CN], CO=[es_CO], TC=[en_TC], CR=[es_CR], CS=[sr_CS], TD=[ar_TD, fr_TD], CU=[es_CU], TG=[fr_TG, ee_TG], CV=[kea_CV, pt_CV], TH=[th_TH_TH_#u-nu-thai, th_TH], CW=[nl_CW], CX=[en_CX], TJ=[tg_TJ], CY=[el_CY, en_CY, tr_CY], TK=[en_TK], CZ=[cs_CZ], TL=[pt_TL], TM=[tk_TM], TN=[fr_TN, ar_TN], TO=[to_TO, en_TO], TR=[tr_TR], TT=[en_TT], DE=[hsb_DE, ksh_DE, en_DE, nds_DE, dsb_DE, de_DE], TV=[en_TV], DG=[en_DG], TW=[zh_TW_#Hant, zh_TW], DJ=[ar_DJ, so_DJ, fr_DJ], TZ=[bez_TZ, asa_TZ, rof_TZ, kde_TZ, sbp_TZ, rwk_TZ, en_TZ, vun_TZ, jmc_TZ, mas_TZ, ksb_TZ, lag_TZ, sw_TZ], DK=[fo_DK, en_DK, da_DK], DM=[en_DM], DO=[es_DO], UA=[uk_UA, ru_UA], 150=[en_150], UG=[cgg_UG, sw_UG, lg_UG, teo_UG, en_UG, nyn_UG, xog_UG], DZ=[ar_DZ, kab_DZ, fr_DZ], UM=[en_UM], EA=[es_EA], US=[es_US, haw_US, en_US_POSIX, lkt_US, en_US, chr_US], EC=[qu_EC, es_EC], EE=[et_EE], EG=[ar_EG], EH=[ar_EH], UY=[es_UY], UZ=[uz_UZ_#Latn, uz_UZ_#Cyrl], VA=[it_VA], ER=[en_ER, ar_ER, ti_ER], VC=[en_VC], ES=[es_ES, ast_ES, gl_ES, ca_ES, eu_ES, ca_ES_VALENCIA], VE=[es_VE], ET=[am_ET, om_ET, so_ET, ti_ET], VG=[en_VG], VI=[en_VI], VN=[vi_VN], VU=[fr_VU, en_VU], FI=[sv_FI, fi_FI, en_FI, se_FI, smn_FI], FJ=[en_FJ], FK=[en_FK], FM=[en_FM], FO=[fo_FO], FR=[ca_FR, gsw_FR, fr_FR, br_FR], WF=[fr_WF], GA=[fr_GA], GB=[gd_GB, kw_GB, cy_GB, en_GB], WS=[en_WS], GD=[en_GD], GE=[ka_GE, os_GE], GF=[fr_GF], GG=[en_GG], GH=[ha_GH, ee_GH, en_GH, ak_GH], GI=[en_GI], GL=[da_GL, kl_GL], GM=[en_GM], GN=[ff_GN, fr_GN], GP=[fr_GP], GQ=[pt_GQ, fr_GQ, es_GQ], GR=[el_GR], GT=[es_GT], GU=[en_GU], GW=[pt_GW], GY=[en_GY], XK=[sr_XK_#Cyrl, sq_XK, sr_XK_#Latn], HK=[zh_HK_#Hant, zh_HK_#Hans, yue_HK_#Hant, en_HK, zh_HK], HN=[es_HN], HR=[hr_HR], HT=[fr_HT], YE=[ar_YE], HU=[hu_HU], IC=[es_IC], ID=[in_ID], YT=[fr_YT], IE=[ga_IE, en_IE], IL=[iw_IL, en_IL, ar_IL], IM=[en_IM, gv_IM], IN=[ta_IN, mr_IN, as_IN, or_IN, brx_IN, ks_IN, gu_IN, kn_IN, ml_IN, kok_IN, hi_IN, en_IN, bo_IN, bn_IN, ne_IN, ur_IN, te_IN, ccp_IN, pa_IN_#Guru], IO=[en_IO], ZA=[en_ZA, af_ZA, zu_ZA], IQ=[lrc_IQ, ar_IQ, ckb_IQ], IR=[lrc_IR, fa_IR, mzn_IR, ckb_IR], IS=[is_IS], IT=[fur_IT, de_IT, ca_IT, it_IT], ZM=[en_ZM, bem_ZM], JE=[en_JE], ZW=[nd_ZW, en_ZW, sn_ZW], JM=[en_JM], JO=[ar_JO], JP=[ja_JP, ja_JP_JP_#u-ca-japanese], KE=[so_KE, luy_KE, kln_KE, om_KE, mer_KE, sw_KE, saq_KE, mas_KE, kam_KE, luo_KE, guz_KE, ebu_KE, ki_KE, teo_KE, en_KE, dav_KE], KG=[ru_KG, ky_KG], 419=[es_419], KH=[km_KH], KI=[en_KI], KM=[fr_KM, ar_KM], KN=[en_KN], KP=[ko_KP], KR=[ko_KR], KW=[ar_KW], KY=[en_KY], KZ=[ru_KZ, kk_KZ], LA=[lo_LA], LB=[ar_LB], LC=[en_LC], LI=[de_LI, gsw_LI], LK=[ta_LK, si_LK], LR=[en_LR, vai_LR_#Latn, vai_LR_#Vaii], LS=[en_LS], LT=[lt_LT], LU=[pt_LU, de_LU, fr_LU, lb_LU], LV=[lv_LV], LY=[ar_LY], MA=[ar_MA, fr_MA, shi_MA_#Latn, tzm_MA, zgh_MA, shi_MA_#Tfng], MC=[fr_MC], MD=[ro_MD, ru_MD], ME=[sr_ME, sr_ME_#Cyrl, sr_ME_#Latn], MF=[fr_MF], MG=[mg_MG, fr_MG, en_MG], MH=[en_MH], MK=[mk_MK, sq_MK], ML=[bm_ML, ses_ML, fr_ML, khq_ML], MM=[my_MM], MN=[mn_MN], MO=[zh_MO_#Hant, zh_MO_#Hans, en_MO, pt_MO], MP=[en_MP], MQ=[fr_MQ], MR=[ar_MR, ff_MR, fr_MR], MS=[en_MS], MT=[en_MT, mt_MT], MU=[mfe_MU, en_MU, fr_MU], MW=[en_MW], MX=[es_MX], MY=[ta_MY, en_MY, ms_MY], MZ=[seh_MZ, mgh_MZ, pt_MZ], NA=[en_NA, af_NA, naq_NA], NC=[fr_NC], NE=[dje_NE, ha_NE, twq_NE, fr_NE], NF=[en_NF], NG=[ha_NG, en_NG, yo_NG, ig_NG], NI=[es_NI], NL=[nl_NL, fy_NL, en_NL, nds_NL], NO=[nb_NO, no_NO_NY, se_NO, nn_NO, no_NO], NP=[ne_NP], NR=[en_NR], NU=[en_NU], NZ=[en_NZ], OM=[ar_OM], PA=[es_PA], PE=[es_PE, qu_PE], PF=[fr_PF], PG=[en_PG], PH=[fil_PH, en_PH, es_PH], PK=[pa_PK_#Arab, sd_PK, ur_PK, en_PK], PL=[pl_PL], PM=[fr_PM], PN=[en_PN]}
Collectors.counting()统计个数={=222, PR=2, PS=1, PT=1, PW=1, PY=1, QA=1, AD=1, AE=1, AF=3, AG=1, AI=1, AL=1, AM=1, AO=2, AR=1, 001=6, AS=1, RE=1, AT=2, AU=1, AW=1, AX=1, AZ=2, RO=1, BA=6, BB=1, RS=3, BD=2, BE=4, RU=6, BF=1, RW=3, BG=1, BH=1, BI=3, BJ=2, BL=1, BM=1, BN=1, BO=2, SA=1, SB=1, BQ=1, BR=2, SC=2, BS=1, SD=2, BT=1, SE=3, SG=5, SH=1, BW=1, SI=2, BY=2, SJ=1, SK=1, BZ=2, SL=1, SM=1, SN=4, SO=2, CA=2, SR=1, CC=1, SS=3, ST=1, CD=4, SV=1, CF=3, CG=2, SX=2, CH=8, CI=1, SY=2, SZ=1, CK=1, CL=1, CM=15, CN=6, CO=1, TC=1, CR=1, CS=1, TD=2, CU=1, TG=2, CV=2, TH=2, CW=1, CX=1, TJ=1, CY=3, TK=1, CZ=1, TL=1, TM=1, TN=2, TO=2, TR=1, TT=1, DE=6, TV=1, DG=1, TW=2, DJ=3, TZ=13, DK=3, DM=1, DO=1, UA=2, 150=1, UG=7, DZ=3, UM=1, EA=1, US=6, EC=2, EE=1, EG=1, EH=1, UY=1, UZ=2, VA=1, ER=3, VC=1, ES=6, VE=1, ET=4, VG=1, VI=1, VN=1, VU=2, FI=5, FJ=1, FK=1, FM=1, FO=1, FR=4, WF=1, GA=1, GB=4, WS=1, GD=1, GE=2, GF=1, GG=1, GH=4, GI=1, GL=2, GM=1, GN=2, GP=1, GQ=3, GR=1, GT=1, GU=1, GW=1, GY=1, XK=3, HK=5, HN=1, HR=1, HT=1, YE=1, HU=1, IC=1, ID=1, YT=1, IE=2, IL=3, IM=2, IN=19, IO=1, ZA=3, IQ=3, IR=4, IS=1, IT=4, ZM=2, JE=1, ZW=3, JM=1, JO=1, JP=2, KE=16, KG=2, 419=1, KH=1, KI=1, KM=2, KN=1, KP=1, KR=1, KW=1, KY=1, KZ=2, LA=1, LB=1, LC=1, LI=2, LK=2, LR=3, LS=1, LT=1, LU=4, LV=1, LY=1, MA=6, MC=1, MD=2, ME=3, MF=1, MG=3, MH=1, MK=2, ML=4, MM=1, MN=1, MO=4, MP=1, MQ=1, MR=3, MS=1, MT=2, MU=3, MW=1, MX=1, MY=3, MZ=3, NA=3, NC=1, NE=4, NF=1, NG=4, NI=1, NL=4, NO=5, NP=1, NR=1, NU=1, NZ=1, OM=1, PA=1, PE=2, PF=1, PG=1, PH=3, PK=4, PL=1, PM=1, PN=1}
summingInt计算总和===={ab=2, a=1, abc=3}
1maxBy==={ab=Optional[ab], a=Optional[a], abc=Optional[abc]}
2maxBy===[aa, 111]
2maxBy===[aa, 222]
{bb=Optional[[bb, 333]], aa=Optional[[aa, 222]]}
reduce===6
0
1
2
3
4
0
1
2
3
4
5


 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部