Java语言方面
薄层
努力就有收获~
展开
-
Java 中 Comparable 和 Comparator 比较
本文,先介绍Comparable 和Comparator两个接口,以及它们的差异;接着,通过示例,对它们的使用方法进行说明。 Comparable 简介Comparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设现在存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(...转载 2018-02-19 14:22:44 · 275 阅读 · 0 评论 -
Java中TreeSet的学习
增删改查时间复杂度为log(n),详细学习推荐: Java 集合系列17之 TreeSet详细介绍(源码解析)和使用示例 // 实现代码 import java.util.Iterator; import java.util.TreeSet; public class TestTreeSet { public static void main(String[] args) {原创 2018-03-29 17:12:00 · 432 阅读 · 0 评论 -
Java中HashSet的学习
HashSet是非同步的,允许使用null元素。如果多个线程同时访问一个Hashset,而其中至少一个线程修改了该set,那么它必须保持外部同步。这通常是通过对自然封装该set的对象执行同步操作来完成的。如果不存在这样的对象,则应该使用 Collections.synchronizedSet方法来“包装”set。最好在创建时完成这一操作,以防止对该set进行意外的不同步访问: Set s = C原创 2018-03-29 16:51:55 · 238 阅读 · 0 评论 -
Java的TreeMap和HashMap的介绍和使用
1. TreeMap的介绍和使用 第1部分 TreeMap介绍 TreeMap 简介 TreeMap 是一个有序的key-value集合,它是通过红黑树实现的。 TreeMap 继承于AbstractMap,所以它是一个Map,即一个key-value集合。 TreeMap 实现了NavigableMap接口,意味着它支持一系列的导航方法。比如返回有序的key集合原创 2018-02-12 15:04:23 · 11257 阅读 · 0 评论 -
2018 蓝桥杯省赛 方格计数 & 复数幂
标题:方格计数 如图p1.png所示,在二维平面上有无数个1x1的小方格。 我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。 你能计算出这个圆里有多少个完整的小方格吗? 注意:需要提交的是一个整数,不要填写任何多余内容。 只看第一象限,圆心为(0,0),然后遍历第一象限圆内的所有点( i, j ),当且仅当这个点的左上角到圆心的距离小于半径原创 2018-04-15 13:27:37 · 4190 阅读 · 0 评论 -
Java从文件读入以及读出至文件
RT(目前为了比赛使用,并未深究...) 读入1: try { // 创建读取字符数据的流对象。 // 读取路径不正确时会抛 IOException // 用一个读取流对象关联一个已存在文件。 // 用Reader中的read方法读取字符。 FileReader reader = new FileReader("in.txt"); int ch =原创 2017-10-18 21:14:01 · 2110 阅读 · 0 评论 -
蓝桥杯-扑克序列(Java全排列的实现)
A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。 要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。 请填写出所有符合要求的排列中,字典序最小的那个。 例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。 请通过浏览器提交答案。“A”一定不要用小写字母a,也不要用“1”代替。字符间一定不要留空原创 2018-03-31 22:19:52 · 1073 阅读 · 0 评论 -
Java中Hashtable的学习
Hashtable源码及详细介绍:Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例 首先,可以用HashMap完全代替Hashtable的使用,Hashtable是比较老的集合了,它继承于Dictionary。较HashMap的不同在于它是线程安全的,而且它支持通过Enumeration去遍历。 Enumeration接口是Iterator迭代器的“古老版本”原创 2018-03-24 17:43:31 · 287 阅读 · 0 评论 -
Java中PriorityQueue的学习
API 1.构造函数 PriorityQueue() PriorityQueue(Collectionextends E> c) PriorityQueue(int initialCapacity) PriorityQueue(int initialCapacity, Comparatorsuper E> comparator) PriorityQueue(PriorityQueuee原创 2018-03-29 21:30:38 · 295 阅读 · 0 评论 -
JAVA大整数的使用
昨天做的博弈需要大精度整数,所以整理下BigDecimal的setScale方法用以处理小数点后的位数。 其实Java内置大数求精度具有超好的精确性(二分法求精度)。 setScale(1, BigDecimal.ROUND_DOWN) 直接删除多余的小数位,如1.23会变成1.2 setScale(1, BigDecimal.ROUND_UP) 存在多余的小数位就进位,1.23会原创 2017-05-02 11:55:18 · 3071 阅读 · 0 评论 -
Java中LinkedList的学习
LinkedList源码及学习:Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例 Java怎么使用栈和队列:java中栈和队列的实现和API用法 // 代码实现 import java.util.Iterator; import java.util.LinkedList; public class LinkedListTest { public static原创 2018-03-21 16:37:44 · 224 阅读 · 0 评论 -
Java中HashMap的学习
HashMap源码及详细介绍:Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例 HashMap是一个散列表,存储的内容是键值对(key-value)映射,其实现不是同步的,这意味着它不是线程安全的,其映射也不是有序的。 对于HashMap(不管哪种容器),在设置初始容量时应该考虑到映射中所需的条目数及其加载因子,以便最大限度地减少 rehash 操作次数。如果初始容量大于原创 2018-03-22 16:54:31 · 201 阅读 · 0 评论 -
Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)
概要 前面,我们已经学习了ArrayList。接下来,我们以ArrayList为例,对Iterator的fail-fast机制进行了解。内容包括:: 1 fail-fast简介 2 fail-fast示例 3 fail-fast解决办法 4 fail-fast原理 5 解决fail-fast的原理 转载请注明出处:http://www.cnblogs.com/skyw转载 2018-03-12 15:08:45 · 179 阅读 · 0 评论 -
Collections.sort()和Arrays.sort()的算法实现
Arrays.sort() 先来看看Arrays.sort();,一点进这个方法会看到是这样子的 public static void sort(int[] a) { DualPivotQuicksort.sort(a, 0, a.length - 1, null, 0, 0); }123 果然没这么简单,DualPivotQuicksort翻译过来就是双轴快速排序,关于双轴转载 2018-02-20 19:24:53 · 350 阅读 · 0 评论 -
快速排序算法原理及实现(单轴快速排序、三向切分快速排序、双轴快速排序)
1. 单轴快速排序的基本原理 快速排序的基本思想就是从一个数组中任意挑选一个元素(通常来说会选择最左边的元素)作为中轴元素,将剩下的元素以中轴元素作为比较的标准,将小于等于中轴元素的放到中轴元素的左边,将大于中轴元素的放到中轴元素的右边,然后以当前中轴元素的位置为界,将左半部分子数组和右半部分子数组看成两个新的数组,重复上述操作,直到子数组的元素个数小于等于1(因为一个元素的数组必定是有转载 2018-02-20 19:29:14 · 389 阅读 · 0 评论 -
Java this的作用、equals和==的区别、instanceof和isInstance区别
1. java中this关键字的作用 一、this关键字主要有三个应用: (1)this调用本类中的属性,也就是类中的成员变量; (2)this调用本类中的其他方法; (3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。 Public Class Student { String name; //定义一个成员变量name private void SetN原创 2018-03-14 22:16:28 · 632 阅读 · 0 评论 -
java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一
对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。 本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,最熟悉的就是定转载 2018-03-14 22:10:54 · 150 阅读 · 0 评论 -
ArrayList详细介绍(源码解析)和使用示例
这一章开始,我们对Collection的具体实现类进行讲解;首先,讲解List,而List中ArrayList又最为常用。因此,本章我们讲解ArrayList。先对ArrayList有个整体认识,再学习它的源码,最后再通过例子来学习如何使用它。内容包括: 第1部分 ArrayList简介 第2部分 ArrayList数据结构 第3部分 ArrayList源码解析(基于JDK1.6.0_45)转载 2018-02-19 18:53:06 · 571 阅读 · 0 评论