常见集合去重复的几种实现
在写这个之前,总喜欢割一下=============在平时工作中,有个很小很小的实现就是对某个集合元素的去除重复项,以前也肯定处理过,不过记不得了,今天又遇到了,这里就总结一下这个很小很小的实现的解决方案吧,以及再介绍一下熟悉的其他的实现方案的实现。 先说一下业务场景吧,假设有个集合,它的定义如下: List<String> dataList = new ArrayList<String>(); dataList.add("aa"); dataList.add("bb"); dataList.add("bb"); dataList.add("cc"); dataList.add("cc"); dataList.add("dd"); dataList.add("ee"); 在处理一个简单类型的集合去重复是比较简单的,在我看来想都不用想的办法是使用Set集合,即将List集合转换为Set集合,...
文章分类:经验分享 技术随写
java集合通用排序Collection<Bean>的简单实现
集合类我以前觉得就是写个类实现Comparator接口,然后重写里面的compare函数,最新听别人说,重新认识了一下,对于排序时的中文处理稍微有点不一样,当英文、数字时排序很正常,但是只要是含有中文时就不行了,排序显示的就不正确了,不深究这个,直接贴一个能够实现支持多列排序、中文排序的例子代码,这俩应该能够解决实际项目的需要了,今天问了下工程涛,他介绍说了个冒泡排序的,相关介绍如下: 1、先来一个普通的javabean类,取名叫UserBean.java,用途表现为List<UserBean> 2、接着贴出相关的核心代码实现 3、最后给出调用代码 4、用到的jar包为common-beanutils-x.x.jar 此jar包依赖common-logging-x.x.jar 5、此程序的不足在于,当中文中含有英文时,暂时是按照中文排序的,也就是说当字段中含有中文时,走中文排序的逻辑,这点...
文章分类:经验分享 技术随写
轻松实现内涵图片
标题的意思指的是,轻松将文本文件(txt)和压缩包(rar,zip)文件,存储入图片中。 很多网上论坛只支持上传图片的附件,用此种办法,我们可以把相关的其他类型的文件也放在图片中上传上去,只不过打开方式不一样,网上经典的称这种图片为 “内涵图”。这个技巧有什么用,就不讨论了,仁智问题多讨论无益。 使用windows平台dos自带的copy 命令实现,copy语法咱就不讨论了,直接上实现: 例1:我把一个内容为:“我和草原有个约定”的txt文件写入一个1.gif的文件中,命令如下: F:\> cd tt ---进入文件目录 F:\tt>copy 1.gif /b + 1.txt /a tt1.gif ---将1.gif文件和1.txt文件合并,生成tt1.gif文件,打开图片发现没变,此时使用txt打开该文件,再文件最后处会发现1.txt文件中的内容。 真相图为:请自行另存为本地,然后使用t...
文章分类:经验分享 技术随写
轻松实现Eclipse导入MyEclipse项目
前段时间用了一个月的myeclipse9,发现破解它很麻烦,不像低点版本的一样,输入一个注册码就行了,使用内存也达到了8-900M,伤不起。这段时间也是一直在用myeclipse6.5,发现好多eclipse高点的版本的功能都没有,就准备切换到eclipse当中,大半年没用eclipse,细细使用之下好多东西都给丢了,还得再捡起来。 在切换之前google了一下,找了一堆文章出来,发现说的都是修改.project配置文件,添加几句eclipse支持的xml配置,因为之前用eclipse导过myeclipse的项目,在导入项目那一步eclipse根本识别不了mye的项目文件夹,最近下载了一个最新的eclipse版本,发现完全能导入mye的项目文件夹,好吧,能导入就最好了,也不用去修改它的xml了。就说一下我切换成功的过程吧。 1、下载一个最新的eclipse版本,注意这里说的是J2EE版本。...
文章分类:经验分享 技术随写
Eclipse Maven管理项目——解决修改.java文件不需要重启tomcat了
对于maven管理项目这方面很次,就不详细说了,适合看此文章的是,平时用到了maven,但是又被他的改了类保存立即重新编译折腾的很疼的人看,曾经使用过两个月,maven环境都是别人给的,至于为什么这么搞,从没想过,现在的使用Eclipse中有大量的插件,出现了一个问题,就是改了.java文件,则立即部署项目,相当于要重启tomcat,个人感觉这是一个非常浪费时间的事情,真心想解决。只要一改类文件,需要重启tomcat服务器,这是一个很疼的问题。 在修改维护项目的时候,很大一部分时间都是在修改别人写的代码,更多需要是debug,去走一走代码的执行流程,如果在修改一行代码之后,发现项目自动去重新发布,非常慢,项目代码量大的话,也容易引起tomcat内存不足,当然没有手动设置tomcat最大内存的除外。现在特地来整理整理,怎么解决这个问题的,回想之前呆的项目组中解决的也不算非常完美,但不要失望,...
文章分类:经验分享 技术随写
Apache DbUtils查询初步实现
花了几天时间,初步的了解了下Apache DbUtils,Apache公共的组件确实是多的很,这里主要说说DbUtils组件,它是马哇就不说了,有马哇优点也就不说了,组件集合详细看看下图吧。 ,大晚上的,赶紧搞完了睡觉,只啰嗦一句,好的东西,也得需要好的眼力,识货才行。怎么安装DbUtils环境就不说了,这个相信大家都知道。 1、利用DbUtils实现多表数据查询,并将查询结果集转换为 List<Javabean>或者Javabean的形式。 先给出数据库表结果,一个Province省表,一个City市表,实现根据SQL语句的查询结果,自动与某javabean相转化。 表关系比较简单,不再赘述了,接下来看看两个相对于的Javabean代码。 javabean说明:仔细看的话,会发现@Javabean注释,自己写的,没别的什么实现业务,只是起到一个标记的作用,类似于java.io.Seria...
文章分类:经验分享 技术随写
适用的Log4j的使用
标题的意思是说:从很强大的东西中找到适合我们适用的部分。据说dom4j比jdk中自带的logging要更好,只不过dom4j的某个版本在完成的适合,jdk1.5的正式版已经封板了,不想再动了,因此dom4j便没有内置于jdk中。 dom4j的配置文件有xml文件和properties文件两种,基于properties文件的配置我觉得简单点,直接键值对的形式便可。 从一个dom4j.properites文件的配置,根据配置的内容来分析这个日志的实现,详细如下: #appenderType日志输出类型 log4j.rootLogger = debug,appenderType,appenderLocation log4j.appender.appenderType = org.apache.log4j.ConsoleAppender log4j.appender.appenderType.la...
文章分类:经验分享 技术随写
无意中发现网页中强大的google翻译插件
无意中发现一个网页中的翻译很强大,打开右键源文件看了下,抱着试试的态度来试试,结果很给面子,出现了结果。 废话不多说,先贴上运行效果看看: 贴上效果图中代码: OK,就这么点东西,实现这么强大的效果,如果有机会的话,用这个也不错。 个人觉得这个东西有优点也有缺点: 优点: 1、省去了项目中大量的.properties文件和页面lable文字的专业翻译工作,减少了项目中开发的成本。 2、增加了几十种国际化翻译文件,支持的语言更广。 缺点: 如果要用到国际化则必须依赖google的翻译服务器。 建议:第一个是功能实现的gif图片,图片大小在上传前有 2.1M,如果由于网络原因或者其他看不到效果时,请用浏览器直接 右键--图片另存为,保存到本地查看 运行效果图.gif...
文章分类:经验分享 技术随写
java动态代理简单例子
代理模式主要有两种:静态代理和动态代理,可以看看这篇文章: http://kuangbaoxu.iteye.com/blog/192804 这里说说动态代理的简单例子,spring的AOE底层就是代理,Struts的拦截器本质上也是代理,不多说了,自己上例子,我们做一个吃饭的动作,那么吃饭前和吃饭后各做一件事情,来模拟一下方法的拦截或者说是监听。 示例核心:通过接口代理为接口动态去增加方法实现,以及方法调用的前置与后置处理。 说明:在第二部中第14行的 Object proxy参数似乎没有什么用处,方法中也好像用不到,注意:如果在函数实现中比如在16行加上System.out.println(proxy); 如果加上这么一句打印输出的话,程序会抛异常,异常原因为:无限的递归循环,诡异吧。 =======2013-04-22 分割线==============================...
文章分类:经验分享 技术随写
动态代理运营时间: 天
用户数量: 人
文章数量: 篇
评论数量: 条
点赞个数: 个
最后更新: