- 浏览: 599091 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
import java.util.Iterator; import java.util.List; import java.util.Map; import com.google.common.base.Joiner; import com.google.common.base.Predicate; import com.google.common.base.Splitter; import com.google.common.base.Strings; import com.google.common.collect.FluentIterable; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; /** * Guava工具类 * * @author * @time 2017年9月5日上午9:39:22 */ public class GuavaUtils { private GuavaUtils() { } /** * 用分割符把相应字符串隔开 * * @param separator * =>| * @param objects * =>1,2,3 * @return 1|2|3 */ public static String joinString(String separator, Object... objects) { Joiner joiner1 = Joiner.on(separator).skipNulls(); return joiner1.appendTo(new StringBuilder(""), objects).toString(); } /** * 将map转换成string * * @param map * @return */ @SuppressWarnings("all") public static String mapToString(Map map) { return Joiner.on(";").withKeyValueSeparator("=").join(map); } /** * 将字符串转换成List集合 * * @param separator * @param str * @return */ public static List<String> getListByStr(String separator, String str) { Splitter sp = Splitter.on(separator).trimResults(); return sp.splitToList(str); } /** * 判断集合中是否存在该元素 * @param list * @param element * @return */ public static boolean isListContainsObject(List<? extends Object> list,Object element){ return Iterables.contains(list, element); } public static void main(String[] args) throws Exception { System.out.println(GuavaUtils.joinString("|", "1", "2", "3")); Map<String, String> testMap = Maps.newLinkedHashMap(); testMap.put("Cookies", "12332"); testMap.put("Content-Length", "30000"); testMap.put("Date", "2016.12.16"); testMap.put("Mime", "text/html"); System.out.println(mapToString(testMap)); // 分割符为|,并去掉得到元素的前后空白 String str = "hello | world | your | Name "; List<String> ss = getListByStr("|", str); for (String it : ss) { System.out.println(it); } // 判断是否空 System.out.println(Strings.isNullOrEmpty("")); // Preconditions.checkArgument(false, "你错了"); Person person1 = new Person(30); Person person2 = new Person(32); Person person3 = new Person(33); Person person4 = new Person(34); List<Person> personList = Lists.newArrayList(person1, person2, person3,person4); // 过滤年龄大于等于32的person Iterable<Person> personsFilteredByAge = FluentIterable.from(personList).filter(new Predicate<Person>() { @Override public boolean apply(Person input) { return input.getAge() > 31; } }); // Iterable有一个iterator方法,集合类都有一个Iterator方法 for (Iterator<Person> it = personsFilteredByAge.iterator(); it.hasNext();) { System.out.println(it.next()); } System.out.println(Iterables.contains(personsFilteredByAge, person2)); System.out.println(isListContainsObject(personList, person3)); } } class Person { private int age; public Person(int age) { super(); this.age = age; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
发表评论
文章已被作者锁定,不允许评论。
-
java WeakHashMap学习(key是弱引用)
2018-06-21 09:31 1232在Java集合中有一种特殊的Map类型:WeakHashMap ... -
java HashMap TreeMap(key顺序) LinkedHashMap(插入顺序)学习
2018-06-07 10:27 950java为数据结构中的映射定义了一个接口java.util.M ... -
java RESTful 详解
2018-04-27 11:35 642(1)每一个URI代表一种资源,独一无二; (2)客户端 ... -
java 通过HttpsUrlConnection访问接口数据
2018-04-19 11:25 986server: ssl: key-stor ... -
java 使用多线程的场景总结
2018-04-10 14:35 1702在一个高并发的网站中,多线程是必不可少的。下面先说一下多线程在 ... -
java Enum枚举设置
2018-04-10 10:55 478/** * 数据状态:0:无效,1:有效 **/ ... -
java RestTemplate访问restful服务
2018-03-01 15:02 1620REST的基础知识 当谈论REST时,有一种常见的错误就是将其 ... -
java FYOpenApi实现短信发送
2018-01-02 17:10 11721.配置文件 sms.OpenUrl = http://s ... -
java JSONObject序列化包含Date类型数据的Java对象
2017-12-26 16:31 1616如果Date.class无法进行转换则使用Timestamp. ... -
java 用HttpsURLConnection进行传递中文时错误总结
2017-12-07 16:42 654传递中文时需要用Writer而不是OutputStream ... -
java 内存泄漏
2017-11-27 13:51 4941.内存溢出 out of memory ... -
ActiveMQ 三种发送消息方式(同步,异步,单向)
2017-11-17 10:25 2452MQ 发送普通消息有三种实现方式:可靠同步发送、可靠异步发送、 ... -
java Guava ListenableFuture实现线程回调功能
2017-11-14 10:17 1774java Future具有局限性。在实际应用中,当需要下 ... -
java Curator实现分布式锁
2017-09-05 14:39 1089Curator实现分布式锁主要依赖于zookeeper ... -
java CyclicBarrier进行并发编程
2017-08-25 15:44 671CyclicBarrier允许一组线程相互等待达到一个公共的障 ... -
java 几种性能优化的总结
2017-08-23 14:08 3241、使用StringBuilder 一般 ... -
java 使用kyro进行高性能序列化对象和集合
2017-08-23 14:05 2151import java.io.ByteArrayInp ... -
java 对重复电话号码进行排除的优化(排序和前后对比)
2017-08-22 14:14 7891.先对10万数据排序; 2.对比前后两条数据 ; 3.筛 ... -
ActiveMQ 结合Spring进行数据同步
2017-07-19 15:27 583注意事项hibernate配置文件必须设置自动提交否则不能插入 ... -
java 通过反射原理进行复制操作
2017-07-10 14:24 508// 这些实例的对象字段[sCode] String ...
相关推荐
Guava是Google推出的一个强大的Java工具包,其中的Multiset、Multimap和GroupingBy等功能提供了高级的集合操作,特别是对于集合的分组功能,它提供了一种高效且灵活的方式。 首先,我们需要理解Guava中的`...
Guava 是 Google 开源的一个 Java 工具包...Guava 的这些特性使得开发者能更高效、安全地编写代码,同时提供了一套强大的工具集,可以应对各种复杂场景。学习并掌握 Guava,将极大地提升 Java 开发的生产力和代码质量。
Google的Guava是Java开发中一个非常强大的工具库,它由Google工程师开发并维护,提供了一套丰富的Java实用工具集合。Guava的目的是为了简化Java编程,减少代码冗余和提升代码质量。Guava中包含的工具种类繁多,涵盖...
总结起来,Guava 22.0是一个功能强大的Java库,它的各种工具和组件极大地提高了开发效率,优化了代码质量。通过深入理解并合理运用Guava,开发者能够构建出更加健壮、高效的应用程序。在实际开发中,Guava不仅适用于...
Java & Guava 讲义 Java 基础知识点: * Java 编译过程:Java 编译...该讲义涵盖了 Java 基础知识、Guava 框架的设计理念和使用、Java 集合框架的实现细节等多方面的内容,为学习Java和Guava提供了系统的知识架构。
Guava是Google为Java平台...Guava的这些特性使其成为许多Java项目中的首选库,它不仅丰富了Java的工具箱,还提供了很多现代编程的最佳实践。在实际开发中,合理利用Guava可以提高代码质量,减少错误,并提升应用性能。
在IT行业中,Google Guava库是一个非常强大的工具集,它为Java开发人员提供了一系列实用的集合、缓存、并发和I/O工具。本篇文章将详细探讨如何利用Guava库实现定时缓存功能,以提高应用的性能和效率。 首先,Guava...
总而言之,《Guava是个风火轮之基础工具(3)Java开发Java经》这份资料全面地介绍了Guava在Java开发中的各种应用场景,无论是集合处理、缓存管理、函数式编程,还是并发和安全控制,都为我们提供了强大的工具和实践...
总之,Guava库是Java开发者的强大工具,无论是在大型项目还是小型项目中,都能发挥出重要的作用。18.0版本的Guava在保持高效和稳定的同时,也提供了丰富的功能和优化,使得开发者能够更加便捷地处理常见的编程任务。...
1. **集合框架**:Guava提供了丰富的集合类,如Multiset(多集)、Multimap(多映射)、ImmutableCollection(不可变集合)等,这些集合类具有更好的性能和功能,比Java内置的集合类更为强大。 2. **缓存机制**:...
总结来说,Guava-19.0的这两个jar文件以及对应的sources.jar,为Java开发者提供了强大的工具集,不仅可以在常规Java项目中使用,也能很好地适应GWT的开发需求。源码的提供使得学习和定制变得更加容易,是Java开发中...
在这个文档"Guava是个风火轮之基础工具(1)Java开发Java经验技巧共7页.pdf.zip"中,我们有望深入学习到Guava的核心特性以及在实际开发中的应用技巧。 首先,Guava的集合框架提供了许多扩展和增强的集合类型,如...
9. **IO工具**:Guava提供了Files、CharStreams、ByteStreams等类,对Java标准IO进行了扩展,提供了更强大的读写操作和文件系统操作。 10. **时间与日期处理**:Guava提供了Date数学、TimeMath和ChronoUnit等类,以...
Guava是Google开发的一个核心库,它包含了众多Java平台的高效、强大且实用的工具类。这个"guava-18.0.rar"压缩包包含了Guava库的18.0版本,对于开发者来说,这是一个非常重要的资源。Guava的核心特性在于对Java集合...
谷歌的Guava库是Java开发中的一个非常重要的开源项目,它提供了一系列的高效、实用的工具类,大大简化了常见的编程任务。Guava的核心特性包括集合框架、缓存、原生类型支持、并发库、字符串处理、I/O操作等。这个...
标题中的“guava-use:使用谷歌guava工具包”表明我们即将探讨的是Google提供的Guava库,这是一个广泛使用的Java库,包含了许多实用的工具类和集合框架的扩展。Guava库旨在提高Java开发的效率,提供了如缓存、并发...
Java常用工具类是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,最著名的工具类库是`java.util`包,它包含了大量实用类,如集合、日期时间、数学计算、...
**正文** Google Guava是Google开发的一个开源Java库,它包含了一系列高级且实用的集合类、缓存机制、并发工具、字符串处理、I/O...在实际工作中,根据项目需求选择合适的Guava工具,可以显著提升软件性能和可扩展性。
Guava是Google为Java开发者提供的一套强大的核心库,它极大地丰富了Java的标准库功能,尤其是在集合、缓存、并发编程、基本类型支持、注解处理、字符串操作以及输入/输出(I/O)等方面。Guava的目标是提高Java开发者的...
- **集合框架**:Guava 提供了丰富的集合类,如 Multiset(多集)、Multimap(多映射)、ImmutableCollection(不可变集合)等,它们扩展了 Java 集合框架,提供了更强大和灵活的数据结构。 - **缓存**:Guava ...