- 博客(13)
- 资源 (3)
- 收藏
- 关注
原创 冒泡排序——简单版、优化版、最终版
简单版:简单 优化版:减少每趟次数 最终版:考虑有序,减少趟数 EG:9 8 7 6 5 package com.zhouxj.sort.bubble; import java.util.Arrays; public class BubbleSort1 { public static void main(String[] args) { int[] arr =...
2019-07-17 15:31:40
207
原创 HashMap解决经典存储问题——分拣思路
在Java面试中经常出现的算法题: this is a cate and that is a mice and where is the food? 请统计每个单词出现的次数 通过Map来解决这个问题。 存储到Map中 Key:String Value:自定义类型 * “分拣” 思路 * 思路1、为所有的key创建容器,之后容器中存放对应的value * 思路2、第一次创建...
2019-07-16 20:09:19
238
原创 泛型基本用法
概念:泛型就是参数化类型。 1、泛型在使用的时候指定类型,只能使用引用类型,不能使用基本数据类型。 2、泛型在声明时不能使用在静态属性、静态方法上 3、接口中,泛型字母只能使用在方法中,不能使用在全局常量中。 Java中的数据类型分为三大类:布尔型、字符型、数值型(包括整型、浮点型)。 布尔型:boolean 字符型:char 数值型: 整型:byte、sho...
2019-07-15 16:44:45
355
原创 容器迭代器遍历List、Set、Map的用法实例
1、List中的对象,可以通过下索引进行遍历,也可以通过迭代器进行遍历。 List list = new ArrayList(); list.add("aaa"); list.add("bbb"); list.add("ccc"); for (int i =0;i<list.size();i++){ ...
2019-07-12 18:48:01
261
原创 使用Map完成数据存储的实例
Name Salary Department HireDate 张三 3000 项目部 2007-10 张四 4000 教学部 2006-10 张五 5000 教学部 2007-11 数据库中有如上所示的表,此处使用Java中的Map容器来存储该对象。 与上一篇 使用JavaBean完成数据存储的实例 ...
2019-07-10 20:12:26
721
原创 使用JavaBean完成数据存储的实例
记住两句话:一个类对应一个表结构!一个对象对应一行记录! 1、将String类型的时间转化为时间Date类的对象方法 使用DateFormat类,解决该问题。 EG: String strDate = "2007-10"; DateFormat formate = new SimpleDateFormat("yyyy-MM"); try {...
2019-07-10 19:45:27
316
原创 Hash_Set 基本用法以及自定义实现
Set与数学中的“集合”对应,特点是无序不可重复。 最常见的实现类就是HashSet。 HashSet底层是通过HashMap实现的。 Eg:HashSet里的add方法是通过Map里的put方法实现的。 public boolean add(E e) { return map.put(e, PRESENT)==null; } package cn.zhouxj.collec...
2019-07-10 16:57:41
266
原创 Java中哈希算法及冲突处理的源码实现
Java中的Map接口,底层实现是数组+链表。 数组中存储一个链表对象。 链表里再存放Key-value对象。 容器类对象在调用remove、contains等方法时,需要比较对象是否相等,这涉及到对象类型的equals()方法和hashcode()方法。 对于自定义类型,需要重写equal()和hashCode()方法。 Java中规定,两个内容相等的对象,应该具有相等的hashco...
2019-06-24 16:03:31
388
原创 容器Map中的实现类HashMap的基本用法及底层实现
实现Map接口的类,用来存储键值对。 Map中存储的键值对,是通过键值来唯一识别的,所以键值不能重复。 在HashMap中,使用put(key,value)方法,往容器中存放数据 package cn.zhouxj.collection; import sun.rmi.transport.ObjectTable; /** * 自定义实现Map的功能 * Map:存放键值对,根据键对象...
2019-06-24 14:47:34
276
原创 Java中LinkedList的底层实现
LinkedList底层是链表实现,首先要理解链表的基本概念和基本操作。 以双向链表为例: 链表中,链表是由节点组成的,每个节点由3部分构成,前置节点,节点的内容,后置节点。 Java底层的LinkedList是实现List接口的。 下面我们自己实现LinkedList的底层实现,主要是要理解双向链表的原理。 package cn.zhouxj.collection; public...
2019-06-21 18:19:12
350
原创 Java中ArrayList的底层实现
List接口中的子类ArrayList底层实现是数组,因此本文我们通过阅读源代码,来自己实现ArraylList,以帮助更好的理解。 所有ArrayList中的方法,都可以归结为对数组的操作。 在对数组进行操作时,需要重点考虑数组越界以及数组扩容问题。Java中提供了arraycopy()很方便的实现了数组的扩容。 本文未能全部实现List中的所有接口,主要实现了以下方法: 构造方法 i...
2019-06-19 15:24:36
500
原创 Java中List接口的三个常用子类ArrayList、LinkedList、Vector
List接口在Collection的基础上添加了大量的方法,使得可以在List中插入和移除元素。 1、三个子类基本特点 ArrayList:底层实现是数组。查询快,插入、删除慢;线程不安全、效率高。 LinkedList:底层实现是链表。查询慢,插入、删除快;线程不安全、效率高。LinkedList包含的操作多于ArrayList。 Vector:底层实现也是数组,在遇到线程共享资源时,使...
2019-06-19 15:16:09
288
原创 Java 中容器的四大接口简介
1、Java容器类库的作用是“保存对象”,并将其划分为两个不同的概念 Collection:独立元素的序列 Map:一组成对的“键值对”,允许使用键来查找值。 2、Java中容器有四大接口:Collection接口、Set接口、List接口、Map接口 Collection接口:包含两个子接口 public interface Set<E> extends Collectio...
2019-06-19 13:07:03
444
项目管理PMP精要
2018-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅