- 博客(13)
- 资源 (3)
- 收藏
- 关注
原创 冒泡排序——简单版、优化版、最终版
简单版:简单 优化版:减少每趟次数 最终版:考虑有序,减少趟数EG:9 8 7 6 5package 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 147
原创 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 196
原创 泛型基本用法
概念:泛型就是参数化类型。1、泛型在使用的时候指定类型,只能使用引用类型,不能使用基本数据类型。2、泛型在声明时不能使用在静态属性、静态方法上3、接口中,泛型字母只能使用在方法中,不能使用在全局常量中。Java中的数据类型分为三大类:布尔型、字符型、数值型(包括整型、浮点型)。布尔型:boolean字符型:char数值型: 整型:byte、sho...
2019-07-15 16:44:45 267
原创 容器迭代器遍历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 201
原创 使用Map完成数据存储的实例
Name Salary Department HireDate 张三 3000 项目部 2007-10 张四 4000 教学部 2006-10 张五 5000 教学部 2007-11 数据库中有如上所示的表,此处使用Java中的Map容器来存储该对象。与上一篇 使用JavaBean完成数据存储的实例 ...
2019-07-10 20:12:26 659
原创 使用JavaBean完成数据存储的实例
记住两句话:一个类对应一个表结构!一个对象对应一行记录!1、将String类型的时间转化为时间Date类的对象方法使用DateFormat类,解决该问题。EG: String strDate = "2007-10"; DateFormat formate = new SimpleDateFormat("yyyy-MM"); try {...
2019-07-10 19:45:27 272
原创 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 216
原创 Java中哈希算法及冲突处理的源码实现
Java中的Map接口,底层实现是数组+链表。数组中存储一个链表对象。链表里再存放Key-value对象。容器类对象在调用remove、contains等方法时,需要比较对象是否相等,这涉及到对象类型的equals()方法和hashcode()方法。对于自定义类型,需要重写equal()和hashCode()方法。Java中规定,两个内容相等的对象,应该具有相等的hashco...
2019-06-24 16:03:31 337
原创 容器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 231
原创 Java中LinkedList的底层实现
LinkedList底层是链表实现,首先要理解链表的基本概念和基本操作。以双向链表为例:链表中,链表是由节点组成的,每个节点由3部分构成,前置节点,节点的内容,后置节点。Java底层的LinkedList是实现List接口的。下面我们自己实现LinkedList的底层实现,主要是要理解双向链表的原理。package cn.zhouxj.collection;public...
2019-06-21 18:19:12 301
原创 Java中ArrayList的底层实现
List接口中的子类ArrayList底层实现是数组,因此本文我们通过阅读源代码,来自己实现ArraylList,以帮助更好的理解。所有ArrayList中的方法,都可以归结为对数组的操作。在对数组进行操作时,需要重点考虑数组越界以及数组扩容问题。Java中提供了arraycopy()很方便的实现了数组的扩容。本文未能全部实现List中的所有接口,主要实现了以下方法:构造方法 i...
2019-06-19 15:24:36 436
原创 Java中List接口的三个常用子类ArrayList、LinkedList、Vector
List接口在Collection的基础上添加了大量的方法,使得可以在List中插入和移除元素。1、三个子类基本特点ArrayList:底层实现是数组。查询快,插入、删除慢;线程不安全、效率高。LinkedList:底层实现是链表。查询慢,插入、删除快;线程不安全、效率高。LinkedList包含的操作多于ArrayList。Vector:底层实现也是数组,在遇到线程共享资源时,使...
2019-06-19 15:16:09 248
原创 Java 中容器的四大接口简介
1、Java容器类库的作用是“保存对象”,并将其划分为两个不同的概念Collection:独立元素的序列 Map:一组成对的“键值对”,允许使用键来查找值。2、Java中容器有四大接口:Collection接口、Set接口、List接口、Map接口Collection接口:包含两个子接口public interface Set<E> extends Collectio...
2019-06-19 13:07:03 393
项目管理PMP精要
2018-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人