guava 基本操作

package com.sunday.g_strings;

import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import com.google.common.collect.*;
import com.google.common.io.Files;

import java.io.File;
import java.util.List;
import java.util.Map;

public class GStrings {

    public static void str() {
        // 获取字串前缀
        System.out.println(Strings.commonPrefix("as","a"));
        // 重复字串
        System.out.println(Strings.repeat("s",3));
        // 追加字符知道 string 长度大于等于 minLength
        System.out.println(Strings.padStart("asd",9,'s'));
    }

    public static void col() {
        // 初始化list
        List<String> list = Lists.newArrayList();
        // 在list首追加
        List<String> lists = Lists.asList("s",new String[]{"d"});
        List<String> listss = Lists.asList("s","d",new String[]{"f"});
        // 不变Collection的创建
        ImmutableList<String> iList = ImmutableList.of("a", "b", "c");
        System.out.println(iList);
        // map中包含key为String value为List类型
        Multimap<String,Integer> map = ArrayListMultimap.create();
        map.put("aa", 1);
        map.put("aa", 2);
        System.out.println(map.get("aa"));  //[1, 2]

        //use guava
        String str = "1-2-3-4-5-6";
        List<String> liststr = Splitter.on("-").splitToList(str);
        //list为  [1, 2, 3, 4, 5, 6]
        System.out.println(liststr);
        // 忽略中间的空格  使用 "-" 切分字符串并去除空串与空格== omitEmptyStrings().trimResults() 去除空串与空格
        String strs = "1-2-3-4-  -5-  6   ";
        List<String> listxtrs = Splitter.on("-").omitEmptyStrings().trimResults().splitToList(str);
        System.out.println(listxtrs);
        // 将String转换为map
        String strmap = "xiaoming=11,xiaohong=23";
        Map<String,String> mapstr = Splitter.on(",").withKeyValueSeparator("=").split(strmap);
        System.out.println(mapstr);
     }

     public static void file(){
        // 遍历文件夹 当前目录
         Iterable<File> fileTreeTraverser = Files.fileTreeTraverser().children(new File("D:\\迅雷下载"));
         fileTreeTraverser.forEach(c->{
             //if (c.isFile()) {
                 System.out.println(c);
             //}
         });
         // 广度优先遍历 包括子文件夹
         FluentIterable<File> fluentIterable = Files.fileTreeTraverser().breadthFirstTraversal(new File("D:\\迅雷下载"));
         //fluentIterable.stream().forEach(c-> System.out.println(c));
         // 后序遍历
         FluentIterable<File> fluentIterablep = Files.fileTreeTraverser().postOrderTraversal(new File("D:\\迅雷下载"));
         //fluentIterablep.stream().forEach(c-> System.out.println(c));
         // 前序遍历
         FluentIterable<File> fluentIterablepre = Files.fileTreeTraverser().preOrderTraversal(new File("D:\\迅雷下载"));
         fluentIterablepre.stream().forEach(c-> System.out.println(c));
     }
}

 

转载于:https://my.oschina.net/hellokuang/blog/1556380

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值