- 浏览: 6907 次
文章分类
最新评论
JAVA基础篇【工具类】CollectionUtil 集合操作工具类 TG【20130318整理】
- 博客分类:
- 02000-编程语言
- 02100---JAVA
集合操作工具类
import java.util.Collection; import java.util.LinkedList; import java.util.List; import java.util.Map; /** * 集合(List,Map,Set)辅助类。 * @author Elfy * @date 2013年02月25日 */ public class CollectionUtil { /** * 功能:从List中随机取出一个元素。 * @author Elfy * @date 2013年02月25日 * @param objs 源List * @return T List的一个元素 */ public static <T> T randomOne(List<T> list){ if(isEmpty(list)){ return null; } return list.get(MathUtil.randomNumber(0, list.size())); } /** * 功能:从数组中随机取出一个元素。 * @author Elfy * @date 2013年02月25日 * @param objs 源数组 * @return T 数组的一个元素 */ public static <T> T randomOne(T[] objs){ if(isEmpty(objs)){ return null; } return objs[MathUtil.randomNumber(0, objs.length)]; } /** * 功能:数组中是否存在这个元素。 * @author Elfy * @date 2013年02月25日 * @param objArr 数组 * @param compare 元素 * @return 存在返回true,否则返回false。 */ public static <T> boolean arrayContain(T[] objArr,T compare){ if(isEmpty(objArr)){ return false; } for(T obj : objArr){ if(obj.equals(compare)){ return true; } } return false; } /** * 功能:向list中添加数组。 * @author Elfy * @date 2013年02月25日 * @param list List * @param array 数组 */ public static <T> void addArrayToList(List<T> list, T[] array) { if (isEmpty(list)) { return; } for (T t : array) { list.add(t); } } /** * 功能:将数组进行反转,倒置。 * @author Elfy * @date 2013年02月25日 * @param objs 源数组 * @return T[] 反转后的数组 */ public static <T> T[] reverseArray(T[] objs){ if(isEmpty(objs)){ return null; } T[] res=(T[])java.lang.reflect.Array.newInstance(objs[0].getClass(), objs.length); //新序号 int k=0; for(int i=objs.length-1 ; i>=0 ; i--){ res[k++]=objs[i]; } return res; } /** * 功能:将数组转为list。 * @author Elfy * @date 2013年02月25日 * @param objs 源数组 * @return List */ public static <T> List<T> arrayToList(T[] objs){ if(isEmpty(objs)){ return null; } List<T> list=new LinkedList<T>(); for(T obj : objs){ list.add(obj); } return list; } /** * 功能:将list转为数组。 * @author Elfy * @date 2013年02月25日 * @param list 源list * @return T[] */ public static <T> T[] listToArray(List<T> list){ if(isEmpty(list)){ return null; } T[] objs=(T[])java.lang.reflect.Array.newInstance(list.get(0).getClass(), list.size()); int i=0; //数组下标。 for(T obj : list){ objs[i++]=obj; } return objs; } /** * 将一个字符串数组的内容全部添加到另外一个数组中,并返回一个新数组。 * @param array1 第一个数组 * @param array2 第二个数组 * @return T[] 拼接后的新数组 */ public static <T> T[] concatenateArrays(T[] array1, T[] array2) { if (isEmpty(array1)) { return array2; } if (isEmpty(array2)) { return array1; } T[] resArray=(T[])java.lang.reflect.Array.newInstance(array1[0].getClass(), array1.length+array2.length); System.arraycopy(array1, 0, resArray, 0, array1.length); System.arraycopy(array2, 0, resArray, array1.length, array2.length); return resArray; } /** * 将一个object添加到一个数组中,并返回一个新数组。 * @param array被添加到的数组 * @param object 被添加的object * @return T[] 返回的新数组 */ public static <T> T[] addObjectToArray(T[] array, T obj) { //结果数组 T[] resArray=null; if (isEmpty(array)) { resArray=(T[])java.lang.reflect.Array.newInstance(obj.getClass(), 1); resArray[0]=obj; return resArray; } //原数组不为空时。 resArray=(T[])java.lang.reflect.Array.newInstance(array[0].getClass(), array.length+1); System.arraycopy(array, 0, resArray, 0, array.length); resArray[array.length] = obj; return resArray; } /** * 功能:判断数组是不是空。(null或者length==0) * @author Elfy * @date 2013年02月25日 * @param array 数组 * @return boolean 空返回true,否则返回false。 */ public static <T> boolean isEmpty(T[] array) { return (array == null || array.length==0); } /** * 功能:集合是否为空。如果传入的值为null或者集合不包含元素都认为为空。 * @author Elfy * @date 2013年02月25日 * @param collection 集合 * @return boolean 为空返回true,否则返回false。 */ public static boolean isEmpty(Collection collection) { return (collection == null || collection.isEmpty()); } /** * 功能:Map是否为空。如果传入的值为null或者集合不包含元素都认为为空。 * @author Elfy * @date 2013年02月25日 * @param map Map * @return boolean 为空返回true,否则返回false。 */ public static boolean isEmpty(Map map) { return (map == null || map.isEmpty()); } }
发表评论
-
spring MVC原理 TG【2013-04-08】
2017-04-28 11:28 679概述--Spring MVC工作流程图 图一 ... -
JAVA基础篇【工具类】加密解密(一)DES加密和解密 TG【20130331整理】
2016-11-28 10:24 0import java.io.UnsupportedEn ... -
JAVA基础篇【工具类】MathUtil 数学运算辅助类TG【20130324整理】
2016-11-28 10:17 578数学运算辅助类,希望对大家有所帮助 import java ... -
JAVA基础篇【工具类】ZipUtil zip工具类 TG【20130318整理】
2016-11-28 10:03 855import java.io.BufferedInputS ... -
JAVA基础篇【工具类】 SpellHelper 汉字转拼音 TG【20130318整理】
2016-11-28 10:00 490SpellHelper 该类是将汉字转化为拼音的工具类 ... -
JAVA基础篇【工具类】FtpUtil TG【20130317整理】
2016-11-28 09:51 287Ftp工具 在我们编程的时候,我们经常会遇到链接ftp存文件和 ... -
推荐CSS工具资源TG【20110309整理】
2016-11-14 17:27 398456 Berea Street http://www.45 ... -
JAVA基础篇【工具类】StringUtilsTG【20130316整理】
2016-11-14 17:29 362JAVA基础篇【工具类】StringUtilsTG【20110 ... -
浅谈JavaScript&TypeeScriptTG【20130305整理】
2016-11-14 17:02 4951.JavaScript 在1995年时 ...
相关推荐
在Java编程语言中,工具类(Utils)是包含各种实用方法的类,这些方法通常用于执行常见的任务,如类型转换、字符串操作、集合处理等。它们使得代码更加简洁且易于维护,因为它们提供了通用功能的封装,避免了重复...
本篇将详细讲解标题为"完整的java文件读写工具类"所涉及的核心知识点,以及如何实现描述中提到的文件与目录管理功能。 1. **Java IO基础**: Java IO是Java标准库中的核心部分,提供了处理输入/输出流的类。在`...
本篇文章将深入探讨如何在Java中实现一个用于处理HTTPS请求的工具类。 首先,要实现HTTPS请求,我们需要导入Java的`java.net`和`javax.net.ssl`包,这两个包提供了处理网络连接和SSL/TLS安全协议的类。以下是一些...
这篇博客的作者提供了一个自封装的JAVA操作MySQL数据库的工具类,这有助于简化数据库的交互过程,提高代码的可读性和可维护性。这里我们将深入探讨这个工具类可能涉及的关键知识点。 1. **JDBC(Java Database ...
本篇文章将详细介绍如何在Java中使用Google翻译API,并提供一个可直接运行的工具类示例。 首先,我们需要了解Google翻译API的基本概念。Google Translate API是Google Cloud平台的一部分,它提供了RESTful接口,...
本篇文章将深入探讨如何在Java中实现单例模式,以及如何创建一个工具类来封装单例的创建。 首先,让我们了解单例模式的几种常见实现方式: 1. 饿汉式(静态常量): 这是最简单的单例实现,它在类加载时就完成了...
本篇文章将详细介绍如何使用Java语言实现Http和Https请求的工具类,包括如何建立Https连接、如何实现Post请求、如何处理SSL验证等内容。 在Java中,使用HttpURLConnection类可以实现Http和Https请求,但是对于...
本篇文章将深入探讨Jackson库中的核心工具类`ObjectMapper`,以及如何使用`JacksonUtils`来简化JSON操作。 `ObjectMapper`是Jackson库的核心组件,它负责将Java对象转换为JSON字符串,反之亦然。`ObjectMapper`提供...
这篇博文"JavaDBF工具类"的作者分享了一个实用的Java库,用于操作DBF文件。通过这个工具类,开发者可以轻松地在Java应用程序中读取DBF文件中的记录,添加、修改或删除记录,并将更改写回文件。这对于需要处理这种...
在Java编程中,工具类(Utils Class)是一种封装了常用功能的方法集合,它们通常被设计为不可实例化的静态类,方便开发者在不创建对象的情况下直接调用方法。本篇文章将聚焦于“Java Utils 工具类”,特别是通过分析...
Java工具类是程序员在开发过程中经常使用的一类代码集合,它们提供了一系列静态方法,用于执行通用的任务,如字符串处理、日期时间操作、IO流管理等。这些工具类大大提高了开发效率,减少了代码重复,使得代码更加...
本篇将重点介绍Java操作日期时间的工具类,特别是通过`DateUtil.java`这个自定义工具类的实现方式。 `java.util.Date`是Java早期用来表示日期和时间的基础类,它包含了日期和时间的信息,但没有区分日期和时间。...
该文档主要详细总结了Java集合的相关知识,包括Collection和Map接口、Collection接口的子接口List和Set接口以及具体的实现类、存储原理等;Map接口的子接口HashMap、LinkedHashMap、TreeMap、Properties等
本篇文章将全面解析Java IO工具类,帮助你理解并掌握其在实际开发中的应用。 一、Java IO基础 Java IO体系主要由流(Stream)组成,分为字节流和字符流两大类,分别处理字节数据和字符数据。字节流包括InputStream...
本篇文章将深入探讨`MapUtils`工具类的使用及其在Java开发中的重要性。 首先,让我们了解一下实体类。在Java中,实体类通常用于表示数据库中的表或者业务逻辑中的对象。例如,`User.java`文件可能包含一个`User`类...
本篇将围绕Java中的日期工具类和时间工具类展开讨论,同时会涉及到日期时间的格式化。 首先,Java 8之前,我们主要依赖`java.util.Date`和`java.text.SimpleDateFormat`这两个类来处理日期和时间。`Date`类用于表示...
本篇将详细介绍Java开发中的常用工具类,涵盖以下几个方面: 1. **集合操作:** `java.util.Collections` 类提供了对集合对象进行各种操作的静态方法,如排序、填充、反转等。例如,`Collections.sort()` 可以对...
除了基础操作外,Jedis还支持发布订阅、事务、lua脚本等功能,可以根据需求进一步扩展工具类。 综上所述,Java通过Jedis连接Redis并创建工具类,能有效地进行键值存储操作,提高开发效率。正确配置连接池、处理...
本篇文章将详细介绍Java中如何实现XML和JSON的相互转换,并提供一个名为`XmlToJson.java`的工具类作为参考。 首先,XML是一种结构化的数据表示方式,它以树形结构存储数据,易于人类阅读和编写,同时也易于机器解析...
在本篇内容中,我们将聚焦于"Aspose-17.8 Java 生成PDF工具类",了解如何利用Aspose库在Java环境中创建PDF文件。 首先,`aspose.pdf-17.8.jar`是Aspose.Pdf组件的核心库,它允许开发者在Java应用中创建、操作和转换...