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