摘要: 在Java中一涉及到中文处理就会冒出很多的问题来,其中的排序也是一个让人头疼的问题,看代码: 对应输出: 我们希望是按照拼音升序排列,即为李四,王五,张三,但是结果却不是这样的. 这是按照什么进行排序的?Arrays工具类默认的排序是通过数组元素的compareTo()方法排序的,看其源代码实现: 阅读全文
posted @ 2016-07-11 14:58 SummerChill 阅读(1138) 评论(3) 推荐(0) 编辑
摘要: 一、分析 字符串的操作,诸如追加、合并、替换、倒序、分隔等,都是在编码过程中经常用到的,而且Java也提供了append、replace、reverse、split等方法来完成这些操作,它们使用起来确实方便,但是更多的时候,需要使用正则表达式来完成复杂的处理。 一、分析 字符串的操作,诸如追加、合并 阅读全文
posted @ 2016-07-11 14:56 SummerChill 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 对一个字符串拼接有三种方法:加号,contact方法,StringBuffer或者StringBuilder的append方法,其中加号是最常用的.其他两种方式偶尔会出现在一些开源项目中,那么这三者有什么区别? 以上是两种不同的字符串拼接方式,循环5万次后再检查执行的时间,加号方式执行的时间是143 阅读全文
posted @ 2016-07-11 14:55 SummerChill 阅读(770) 评论(0) 推荐(0) 编辑
摘要: CharSequence接口有三个实现类与字符串有关:String,StringBuffer,StringBuffer.虽然它们都与字符串有关,但是其处理机制是不同的. String类是不可改变的量,也就是创建之后就不能再修改了,比如创建了一个"abc"这样的字符串对象,那么它在内存中永远都会是"a 阅读全文
posted @ 2016-07-11 14:53 SummerChill 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 有这样一个简单的需求:写一个方法,实现从原始字符串中删除与之匹配的所有子字符串,比如"蓝蓝的天,白云飘"中,删除"白云飘",输出"蓝蓝的天," 代码如下: StringUtils工具类很简单,它采用了String的replace方法,改方法是做字符串替换的,我们来编写一个测试用例,检查remove方 阅读全文
posted @ 2016-07-11 14:51 SummerChill 阅读(1826) 评论(0) 推荐(0) 编辑
摘要: 我们知道Set与List的最大区别就是Set中的元素不可以重复(这个重复指的equals方法的返回值相等),其他方面则没有太大的区别了,在Set的实现类中有一个比较常用的类需要了解一下:TreeSet,该类实现了类默认排序为升序的Set集合,如果插入一个元素,默认会按照升序排列(当然是根据Compa 阅读全文
posted @ 2016-07-11 14:43 SummerChill 阅读(476) 评论(0) 推荐(0) 编辑
摘要: Java中的集合类实在是太丰富了,有常用的ArrayList、HashMap,也有不常用的Stack、 Queue,有线程安全的Vector、HashTable,也有线程不安全的LinkedList、TreeMap,有阻塞 式的ArrayBIockingQueue,也有非阻塞式的PriorityQu 阅读全文
posted @ 2016-07-11 14:43 SummerChill 阅读(351) 评论(0) 推荐(0) 编辑
摘要: Vector是ArrayList的多线程版本,HashTable是HashMap的多线程版本,这些概念我 们都很清楚,也被前辈嘱咐过很多次,但我们经常会逃避使用Vector和HashTable,因为用 得少,不熟嘛!只有在真正需要的时候才会想要使用它们,但问题是什么时候算真正需要呢?我们来看一个例子 阅读全文
posted @ 2016-07-11 14:37 SummerChill 阅读(1292) 评论(0) 推荐(0) 编辑
摘要: 在系统开发中我们经常会使用HashMap作为数据集容器,或者是用缓冲池来处理,一般很稳定,但偶尔也会出现内存溢出的问题(OutOfMemory错误),而且这经常是与HashMap有关的.而且这经常是与HashMap有关的.比如我们使用缓冲池操作数据时,大批量的增删改产操作就可能会让内存溢出,下面建立 阅读全文
posted @ 2016-07-11 14:36 SummerChill 阅读(2244) 评论(0) 推荐(0) 编辑
摘要: 在网站上 阅读全文
posted @ 2016-07-11 14:35 SummerChill 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 在初中代数中,我们经常会求两个集合的并集、交集、差集等,在Java中也存在着此 类运算,那如何实现呢? 一提到此类集合操作,大部分的实现者都会说:对两个集合进行遍历,即可求出结果。是的,遍历可以实现并集、交集、差集等运算,但这不是最优雅的处理方式。下面来看看如何进行更优雅、快速、方便的集合操作。 在 阅读全文
posted @ 2016-07-11 14:34 SummerChill 阅读(1432) 评论(0) 推荐(0) 编辑
摘要: 实现了Comparable接口的元素就可以排序, 阅读全文
posted @ 2016-07-11 14:33 SummerChill 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 对一个列表进行检索时,我们使用的最多的是indexOf方法,它简单好用,而且也不会出错,虽然它只能检索到第一个符合条件的值,但是我们可以生成子列表后再检索.这样也就可以查找到所有符合条件的值了. Collections工具类也提供了一个检索的方法:binarySearch,这个是干什么的?该方法也是 阅读全文
posted @ 2016-07-11 14:32 SummerChill 阅读(7583) 评论(0) 推荐(0) 编辑
摘要: 在项目开发中,我们经常 阅读全文
posted @ 2016-07-11 14:30 SummerChill 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 前面说了subList 阅读全文
posted @ 2016-07-11 14:28 SummerChill 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 看一个简单的需求: 阅读全文
posted @ 2016-07-11 14:27 SummerChill 阅读(296) 评论(0) 推荐(0) 编辑
摘要: List接口提供了subList方法,其作用是返回一个列表的子列表.这与String类的subString有点类似.但是他们的功能是否相同?看代码: 程序输出: c1是通过ArrayList的构造函数创建的,c2是通过列表的subList方法创建的,然后c2又增加了一个元素C,现在的问题是输出的结果 阅读全文
posted @ 2016-07-11 14:05 SummerChill 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 来看一个判断列表相等的例子,看代码: 运行输出:true 两个类都不相同,一个是ArrayList,一个是Vectory,那结果为什么还是true? 两者都是列表List,都实现了List接口,也都继承了AbastractList抽象类,其中equals方法是在AbstractList中定义的,我们 阅读全文
posted @ 2016-07-11 13:20 SummerChill 阅读(320) 评论(0) 推荐(0) 编辑