
Java
吴伟楠
快乐生活,认真工作
展开
-
String底层
1、String 编译期间的优化String a = "a" + "b" +"1";String b = "ab1"; a == b 会是true还是false呢?答案显而易见的是true!为什么?我们之前学习java的时候知道String 如果创建了2个一样的字符串的话,这2个字符串的引用地址其实是同一个来的,而不会创建2个对象!那么为什么java是怎么去判断的呢? ...原创 2017-06-17 12:39:24 · 9146 阅读 · 2 评论 -
Java集合(二)Iterator
Java 集合框架主要结构图Java 集合主要分为两类:Collection 和 Map. 而 Collection 又继承了 Iterable< E > 接口,jdk1.8以前,Iterable 接口内只有一个 iterator 方法,1.8之后增加了forEach和spliterator两个方法。iterator返回一个 Iterator 迭代器:/** * Return...原创 2018-06-08 18:47:49 · 537 阅读 · 0 评论 -
Java集合(一)什么是集合
什么是集合 1、集合类存放于java.util包中。 2、集合类型主要有3种:set(集)、list(列表)和map(映射)。 3、集合存放的都是对象的引用,而非对象本身。所以我们称集合中的对象就是集合中对象的引用。 简单来讲:集合就是一个放数据的容器,准确的说是放数据对象引用的容器。集合有哪些以及它们之间的关系上面这个图看上去有点杂,不过没关系,我们一步一步来剖析它。这张...原创 2018-06-07 17:35:32 · 22328 阅读 · 1 评论 -
List 《Map《String, Object》》进行map里面某个key相同则合并数据
public static void main(String[] args) { //存放所有数据 List<Map<String, Object>> dataList = new ArrayList<Map<String,Object>>(); Map<Stri...原创 2018-05-31 17:08:06 · 6552 阅读 · 0 评论 -
Java获取map的key和value的方法
获取map的key和value的方法分为两种形式:map.keySet():先获取map的key,然后根据key获取对应的value; map.entrySet():同时查询map的key和value,只需要查询一次; 以下是获取map的key和value,以及map里面的元素通过key或者value来比较大小并排序;注意:当map的value值相等时,根据key值进行排序import jav...原创 2018-04-16 17:17:53 · 2696 阅读 · 0 评论 -
Java中@Override的作用
@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1、可以当注释用,方便阅读;2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。 举例:在重写父类的onCreate时,在方法前面加上@Ov...原创 2017-10-04 15:34:08 · 357 阅读 · 0 评论 -
java获取某段时间内的所有日期
public static void main(String[] args) throws Exception { List lDate = new ArrayList(); String start = "2017-08-28"; String end = "2017-11-02"; SimpleDateFormat sdf = new SimpleDateF原创 2017-09-24 23:54:08 · 660 阅读 · 0 评论 -
String、StringBuffer与StringBuilder之间区别
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String ...原创 2017-07-16 11:28:57 · 383 阅读 · 0 评论 -
ArrayList、Vector、LinkedList的区别及其优缺点?
ArrayList,LinkedList,Vestor这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下: 一、同步性 ArrayList,LinkedList是不同步的,而Vestor是同步的。所以如果不要求线程安全的话,可以使用ArrayList或LinkedList,可以节省为同步而耗费的开销。但在多线程的情况下,有时候就不得不使用Vector转载 2017-06-27 16:54:06 · 351 阅读 · 0 评论 -
java中JVM的原理
一、java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明这个包换main转载 2017-06-28 17:31:38 · 378 阅读 · 0 评论 -
HashMap和Hashtable的区别
HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。HashM...转载 2018-07-02 11:23:53 · 451 阅读 · 0 评论