| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>29.0-jre</version> |
| </dependency> |
| import com.google.common.base.CaseFormat; |
| import com.google.common.base.Joiner; |
| import com.google.common.base.Preconditions; |
| import com.google.common.base.Splitter; |
| import com.google.common.collect.*; |
| import com.google.common.primitives.Floats; |
| import com.google.common.primitives.Ints; |
| import com.google.common.primitives.Longs; |
| import org.apache.commons.lang3.StringUtils; |
| import org.junit.Test; |
| import java.util.*; |
| import java.util.stream.Collectors; |
| import java.util.stream.Stream; |
| |
| public class GuavaTest { |
| |
| @Test |
| public void test8() { |
| String param = null; |
| |
| |
| |
| |
| |
| Preconditions.checkArgument(param != null,"参数不能为空"); |
| } |
| |
| |
| |
| |
| @Test |
| public void test7() { |
| List<String> list = new ArrayList<>(); |
| list.add("aa"); |
| |
| |
| ImmutableList<Object> immutableList = ImmutableList.builder().add("aa").build(); |
| |
| |
| |
| List<String> jdkUnmodifiableList = Collections.unmodifiableList(list); |
| |
| |
| list.add("ccc"); |
| System.out.println(jdkUnmodifiableList); |
| } |
| |
| |
| |
| |
| @Test |
| public void test6() { |
| Multimap<String,String> multimap = HashMultimap.create(); |
| multimap.put("a","1"); |
| multimap.put("a","2"); |
| multimap.put("a","3"); |
| Collection<String> aValues = multimap.get("a"); |
| System.out.println(aValues); |
| |
| |
| System.out.println(multimap.containsEntry("a", "4")); |
| |
| Map<String, Collection<String>> jdkMap = multimap.asMap(); |
| System.out.println(jdkMap); |
| } |
| |
| |
| |
| |
| |
| |
| @Test |
| public void test5() { |
| Multiset<String> multiset = HashMultiset.create(); |
| multiset.add("a"); |
| multiset.add("b"); |
| multiset.add("c"); |
| multiset.add("a"); |
| System.out.println(multiset); |
| Set<Multiset.Entry<String>> entries = multiset.entrySet(); |
| System.out.println(entries); |
| for (Multiset.Entry<String> entry : entries) { |
| System.out.println("元素:"+entry.getElement()+",个数:"+entry.getCount()); |
| } |
| |
| Set<String> elementSet = multiset.elementSet(); |
| System.out.println(elementSet); |
| for (String ele : elementSet) { |
| System.out.println("集合里面的元素:"+ele); |
| } |
| } |
| |
| |
| |
| |
| |
| |
| |
| @Test |
| public void test4() { |
| List<Integer> integers = Ints.asList(1, 2, 3); |
| System.out.println(integers); |
| } |
| |
| |
| |
| |
| @Test |
| public void test3() { |
| List<String> list = new ArrayList<>(); |
| list.add("a"); |
| list.add("b"); |
| list.add("c"); |
| |
| ArrayList<String> list2 = Lists.newArrayList("a", "b", "c"); |
| |
| |
| |
| |
| |
| List<List<String>> partition = Lists.partition(list2, 2); |
| System.out.println(partition); |
| for (List<String> ids : partition) { |
| |
| } |
| } |
| |
| |
| |
| |
| |
| |
| @Test |
| public void test2() { |
| String str = "student_name"; |
| |
| |
| System.out.println(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, str)); |
| |
| System.out.println(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, str)); |
| |
| |
| str = "studentName"; |
| |
| System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, str)); |
| } |
| |
| |
| |
| |
| |
| @Test |
| public void test1() { |
| List<String> list = new ArrayList<>(); |
| list.add("a"); |
| list.add("b"); |
| list.add("c"); |
| list.add(null); |
| |
| Joiner joiner = Joiner.on(",") |
| |
| |
| .useForNull("这是null的替代物") |
| ; |
| System.out.println(joiner.join(list)); |
| |
| System.out.println(list.stream().filter(StringUtils::isNotBlank) |
| .collect(Collectors.joining(","))); |
| |
| String str = "a,b,\"\",, c ,"; |
| |
| Splitter splitter = Splitter.on(",") |
| |
| .omitEmptyStrings() |
| |
| .trimResults() |
| ; |
| Iterable<String> iterable = splitter.split(str); |
| System.out.println(iterable); |
| List<String> splitToList = splitter.splitToList(str); |
| System.out.println(splitToList); |
| |
| } |
| |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下