- 博客(73)
- 收藏
- 关注
原创 集合框架-LinkedHashMap的概述和使用
package cn.itcast_03;import java.util.LinkedHashMap;import java.util.Set;/* * LinkedHashMap:是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。 * 由哈希表保证键的唯一性 * 由链表保证键盘的有序(存储和取出的顺序一致) */public class LinkedHashMapD
2017-04-30 22:21:12 371
原创 集合框架-HashMap集合的案例
(5)HashMap集合的练习A:HashMappackage cn.itcast_02;import java.util.HashMap;import java.util.Set;/* * HashMap:是基于哈希表的Map接口实现。 * 哈希表的作用是用来保证键的唯一性的。 * * HashMap * 键:String * 值:String */pub
2017-04-30 10:02:39 399
原创 集合框架-Map集合的遍历
package cn.itcast_01;import java.util.HashMap;import java.util.Map;import java.util.Set;/* * Map集合的遍历。 * Map -- 夫妻对 * 思路: * A:把所有的丈夫给集中起来。 * B:遍历丈夫的集合,获取得到每一个丈夫。 * C:让丈夫去找自己的妻子。 *
2017-04-30 09:47:58 364
原创 集合框架-Map集合功能概述
1:Map(掌握)(1)将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 (2)Map和Collection的区别? A:Map 存储的是键值对形式的元素,键唯一,值可以重复。夫妻对 B:Collection 存储的是单独出现的元素,子接口Set元素唯一,子接口List元素可重复。光棍(3)Map接口功能概述(自己补齐) A:
2017-04-29 23:01:35 409
原创 解决GAT项目Bug:轨迹分析查询不到数据
问题描述:左边没数据,地图上也没轨迹控制台信息:没有该方法搜索该类:发现类存在于两个项目中,GAT已经引用了公司通用的jar包,而GAT代码中依然写了重复的代码,造成了冲突解决办法:把这两个包下的代码删了,提交即可
2017-04-28 15:28:43 762
原创 集合框架-TreeSet的add()方法的源码解析
interface Collection {...}interface Set extends Collection {...}interface NavigableMap {}class TreeMap implements NavigableMap { public V put(K key, V value) { Entry t = root;
2017-04-26 23:09:34 550
原创 集合框架-Collection集合总结
3:Collection集合总结(掌握)Collection |--List 有序,可重复 |--ArrayList 底层数据结构是数组,查询快,增删慢。 线程不安全,效率高 |--Vector 底层数据结构是数组,查询快,增删慢。 线程安
2017-04-26 16:10:09 367
原创 集合框架-键盘录入学生按照总分从高到底输出
package cn.itcast_08;import java.util.Comparator;import java.util.Scanner;import java.util.TreeSet;/* * 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台 * * 分析: * A:定义学生类 * B:创建一个TreeSet集合
2017-04-26 16:06:29 625
原创 集合框架-获取无重复的随机数案例
(4)案例: A:获取无重复的随机数package cn.itcast_08;import java.util.HashSet;import java.util.Random;/* * 编写一个程序,获取10个1至20的随机数,要求随机数不能重复。 * * 分析: * A:创建随机数对象 * B:创建一个HashSet集合 * C:判断集合的长
2017-04-26 16:00:23 364
原创 集合框架-TreeSet集合
(3)TreeSet集合TreeSet类概述 使用元素的自然顺序对元素进行排序 或者根据创建set时提供的Comparator进行排序 具体取决于使用的构造方法A:底层数据结构是红黑树(是一个自平衡的二叉树)B:保证元素的排序方式 a:自然排序(元素具备比较性) 让元素所属的类实现Comparable接口 b:比较器排
2017-04-26 14:37:28 414
原创 开发者技能修炼的五个等级
Developer,开发工程师作为拥有0-3年编程经验的第二层,可以正式的称呼自己为“编码菜鸟”了。这时的他们对编程概念已经有了初步的理解,知道了变量、逻辑与函数的意义。同时也可以熟练的使用CV大法(Control+C、Control+V)来模仿前辈的案例或网络实例进行功能实现了,但也仅仅只能实现需求逻辑而已。同时因为并不理解这段代码的真实含义,所以实现的这坨代码通常让人头痛不已,是BUG
2017-04-26 13:49:07 495
原创 集合框架-LinkedHashSet的概述和使用
package cn.itcast_04;import java.util.LinkedHashSet;/* * LinkedHashSet:底层数据结构由哈希表和链表组成。 * 哈希表保证元素的唯一性。 * 链表保证元素有素。(存储和取出是一致) */public class LinkedHashSetDemo { public static void main(String
2017-04-26 11:25:34 717
原创 集合框架-HashSet存储字符串、自定义对象并遍历
package cn.itcast_02;import java.util.HashSet;/* * 需求:存储自定义对象,并保证元素的唯一性 * 要求:如果两个对象的成员变量值都相同,则为同一个元素。 * * 目前是不符合我的要求的:因为我们知道HashSet底层依赖的是hashCode()和equals()方法。 * 而这两个方法我们在学生类中没有重写,所以,默认使用的是O
2017-04-26 11:11:14 523
原创 集合框架-HashSet集合的add()方法的源码
interface Collection { ...}interface Set extends Collection { ...}class HashSet implements Set { private static final Object PRESENT = new Object(); private transient HashMap map; public
2017-04-25 23:47:27 382
原创 集合框架-Set集合
1:Set集合(理解)普通for循环是list集合特有的,遍历set集合、增强for和迭代器可以(1)Set集合的特点 无序,唯一package cn.itcast_01;import java.util.HashSet;import java.util.Set;/* * Collection * |--List * 有序(存储顺序和取出顺序一致
2017-04-25 22:19:42 372
原创 家里的宽带到2018.2.1到期
考虑选择电信的宽带,含手机话费一起(赠送的话费50也够打电话了),70*12个月=840元每加1个天翼,每月10元。共享套餐流量和赠送的通话费,同时享受与嗨卡互打电话省内免费600分钟的优惠。之前用的移动499元10M两年,手机保底消费18元,一年就是250+话费一般30*12=670,现在移动可能没有类似便宜的套餐了,移动现在的宽带:499元20M两年,手机保底消费28元,而移动28
2017-04-25 17:40:22 582
原创 集合框架-ArrayList集合的toString()方法源码解析
集合的toString方法源码解析代码: Collection c = new ArrayList(); c.add("hello"); c.add("world"); c.add("java"); System.out.println(c);为什么c输出的不是地址值呢? A:Collection c = new ArrayLis
2017-04-24 22:56:27 620
原创 for(;;)和while(true)的区别
看到刘意老师分析ArrayList集合的toString()方法源码,其中有for(;;)死循环想到了和以前学的while(true)比较类似那么它们之间有什么区别呢?很多JDK源码大多使用for(;;)而不是while(true)参考:https://www.zhihu.com/question/52311366参考:http://blog.csdn.net/rexct392
2017-04-24 22:50:50 859
原创 集合框架-键盘录入多个数据,以0结束,并在控制台输出最大值
C:键盘录入多个数据,以0结束,并在控制台输出最大值package cn.itcast_03;import java.util.ArrayList;import java.util.Arrays;import java.util.Scanner;/* * 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值 * * 分析: * A:创建键盘录入数据对象
2017-04-24 17:33:29 1513
原创 集合框架-产生10个1-20之间的随机数,要求随机数不能重复
B:产生10个1-20之间的随机数,要求随机数不能重复package cn.itcast_02;import java.util.ArrayList;import java.util.Random;/* * 获取10个1-20之间的随机数,要求不能重复 * * 用数组实现,但是数组的长度是固定的,长度不好确定。 * 所以我们使用集合实现。 * * 分析: *
2017-04-24 17:27:09 1342
原创 集合框架-集合的嵌套遍历
6:练习(掌握) A:集合的嵌套遍历package cn.itcast_01;import java.util.ArrayList;/* * 集合的嵌套遍历 * 需求: * 我们班有学生,每一个学生是不是一个对象。所以我们可以使用一个集合表示我们班级的学生。ArrayList * 但是呢,我们旁边是不是还有班级,每个班级是不是也是一个ArrayList。
2017-04-24 17:24:04 436
原创 集合框架-可变参数
5:可变参数(掌握)(1)如果我们在写方法的时候,参数个数不明确,就应该定义可变参数。(2)格式: 修饰符 返回值类型 方法名(数据类型... 变量) {} 注意: A:该变量其实是一个数组名 B:如果一个方法有多个参数,并且有可变参数,可变参数必须在最后package cn.itcast_03;/* * 可变参数:定义
2017-04-23 16:08:13 333
原创 集合框架-静态导入
4:静态导入(了解)(1)可以导入到方法级别的导入(2)格式: import static 包名....类名.方法名;(3)注意事项: A:方法必须是静态的 B:如果多个类下有同名的方法,就不好区分了,还得加上前缀。 所以一般我们并不使用静态导入,但是一定要能够看懂。package cn.itcast_02;/* * 静态导
2017-04-23 15:35:39 356
原创 集合框架-增强for(增强for循环的目标不能为null,建议在使用前,先判断是否为null)
3:增强for循环(掌握)(1)是for循环的一种(2)格式: for(元素的数据类型 变量名 : 数组或者Collection集合的对象) { 使用该变量即可,该变量其实就是数组或者集合中的元素。 }(3)好处: 简化了数组和集合的遍历(4)弊端 增强for循环的目标不能为null。建议在使用前,先判断是否为null。
2017-04-23 15:26:48 784
原创 集合框架-泛型高级之通配符
package cn.itcast.mybatis.pojo;import java.util.ArrayList;import java.util.Collection;/* * 泛型高级(通配符) * ?:任意类型,如果没有明确,那么就是Object以及任意的Java类了 * ? extends E:向下限定,E及其子类 * ? super E:向上限定,E极其父类 *
2017-04-23 14:36:37 410
原创 集合框架-泛型接口的概述和使用
package cn.itcast_06;/* * 泛型接口:把泛型定义在接口上 */public interface Inter { public abstract void show(T t); }package cn.itcast_06;//实现类在实现接口的时候/*第一种情况:已经知道该是什么类型的了,这种情况不常用public class Inte
2017-04-23 14:22:17 356
原创 集合框架-泛型方法的概述和使用
package cn.itcast_05;public class ObjectToolDemo { public static void main(String[] args) { // ObjectTool ot = new ObjectTool(); // ot.show("hello"); // ot.show(100); // ot.show(true);
2017-04-23 14:12:58 367
原创 集合框架-泛型类的概述及使用
package cn.itcast_04;/* * 泛型类的测试 */public class ObjectToolDemo { public static void main(String[] args) { ObjectTool ot = new ObjectTool(); // ot.setObj(new Integer(27)); //这个时候编译期间就过不去 o
2017-04-23 13:53:18 348
原创 集合框架-通过Object转型问题引入泛型
package cn.itcast_03;/* * 早期的时候,我们使用Object来代表任意的类型。 * 向上转型是没有任何问题的,但是在向下转型的时候其实隐含了类型转换的问题。 * 也就是说这样的程序其实并不是安全的。所以Java在JDK5后引入了泛型,提高程序的安全性。 */public class ObjectToolDemo { public static void ma
2017-04-23 13:20:17 371
原创 集合框架-ArrayList存储字符串、自定义对象并遍历泛型版
package cn.itcast_02;import java.util.ArrayList;import java.util.Iterator;/* * 泛型在哪些地方使用呢? * 看API,如果类,接口,抽象类后面跟的有就说要使用泛型。一般来说就是在集合中使用。 */public class ArrayListDemo { public static void mai
2017-04-23 12:59:13 718
原创 集合框架-引入泛型
package cn.itcast_01;import java.util.ArrayList;import java.util.Iterator;/* * ArrayList存储字符串并遍历 * * 我们按照正常的写法来写这个程序, 结果却出错了。 * 为什么呢? * 因为我们开始存储的时候,存储了String和Integer两种类型的数据。 * 而在遍历的时候,
2017-04-23 12:27:04 314
原创 集合框架-用LinkedList实现栈结构
C:用LinkedList模拟一个栈数据结构的集合类,并测试。 你要定义一个集合类,只不过内部可以使用LinkedList来实现。package cn.itcast_05;import java.util.Iterator;import java.util.LinkedList;/* *请用LinkedList模拟栈数据结构的集合,并测试 *题目的意思是: *
2017-04-23 12:02:08 463
原创 集合框架-去重自定义对象案例
B:去除集合中的多个自定义对象的重复元素 如果自定义对象的成员变量值都相同,即为重复元素package cn.itcast_04;import java.util.ArrayList;import java.util.Iterator;/* * 需求:去除集合中自定义对象的重复值(对象的成员变量值都相同) * * 我们按照和字符串一样的操作,发现出问题了。 *
2017-04-23 11:22:27 513
原创 集合框架-去重字符串案例-2
package cn.itcast_04;import java.util.ArrayList;import java.util.Iterator;/* * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 要求:不能创建新的集合,就在以前的集合上做。 */public class ArrayListDemo2 { public static void
2017-04-23 10:39:34 328
原创 集合框架-去重字符串案例
(5)案例:A:去除集合中的多个字符串的重复元素 如果字符串的内容相同,即为重复元素package cn.itcast_04;import java.util.ArrayList;import java.util.Iterator;/* * ArrayList去除集合中字符串的重复值(字符串的内容相同) * * 分析: * A:创建集合对象 *
2017-04-23 09:24:13 390
原创 集合框架-List的子类
1:List的子类(掌握)(1)List的子类特点ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低LinkedList: 底层数据结构是链表,查询慢,增删快 线程不安全,效率高(2)ArrayListA:没有特有功能需要
2017-04-22 23:58:53 332
空空如也
2023年最流行的Java技术是什么?
2023-02-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人