Collections.singletonList(something)是不可变的, 对Collections.singletonList(something)返回的列表所做的任何更改将导致UnsupportedOperationException . Arrays.asList(something)允许Arrays.asList(something) 更改  . 此外,由Collections.singletonList(something)返回的List的容量将始终为1, 而Arrays.a…
一.java.util.Arrays.asList() 的一般用法 List 是一种很有用的数据结构,如果需要将一个数组转换为 List 以便进行更丰富的操作的话,可以这么实现: String[] myArray = { "Apple", "Banana", "Orange" }: List<String> myList = Arrays.asList(myArray);   或者 List<String> myList…
Arrays.asList()方法把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportedOperationException(),我们来看一下为什么会出现这种情况. 问题分析 我们做个测试 public static void main(String[] args) {       List<String> list = Arrays.asList("a", "b", "c&quo…
Java集合框架部分细节总结二 Set 实现类:HashSet,TreeSet HashSet 基于HashCode计算元素存放位置,当计算得出哈希码相同时,会调用equals判断是否相同,相同则拒绝存入 存储结构:哈希表(数组+链表+红黑树(JDK1.8之后)) 即数组上每个元素可追加链表,若HashCode判断相同,而equals判断不同,则会在数组该位置追加Node.超过一定规模,链表转为红黑树存储结构 public static void main(String[] args) { Se…
一:基础公共方法(map不再是简单的加索引,可以直接命名key,通过key进行遍历) 1.常见的map子类 HashTable:底层是哈希表结构.不允许null键和null值,线程同步 HashMap:底层是哈希表结构,可以允许null键和null值,线程不同步 TreeMap:底层是二叉树结构,线程不同步,可以给map的键排序 2.map程序--公共的方法 import java.util.Collection; import java.util.HashMap; import java.ut…
一.Collection和Map 是一个接口 Collection是Set,List,Queue,Deque的接口 Set:无序集合,List:链表,Queue:先进先出队列,Deque:双向链表 Collection和Map之间没有关系,Collection里放一个一个对象的,Map是放键值对key-value. 二.Collections Collections是一个类,也就是容器的工具类,如同Arrays就是数组的工具类 里面有很多方法: 常用的:reverse():反转,逆序 shuff…
1.Collection: java.util.Collection 是一个集合接口. 它提供了对集合对象进行基本操作的通用接口方法.Collection接口在Java 类库中有很多具体的实现.Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式. 以下接口实现了Collection接口: map,set,list,vector 2.Collections:. java.util.Collections 是一个包装类. 它包含有各种有关集合操作的静态多态方法.此类不能实例化…
我们可以通过Arrays.asList() 产生一个List,但是要记住,我们通过Arrays.asList产生的list是基于一个固定大小的数组的, 仅支持那些不会改变数组大小的操作.所以我们在使用时要时刻记住,以免出现不可预料的错误. 如果我们想要得到一个可以操作的List可以通过将Arrays.asList获得的list作为构造器的参数传进ArrayList中,或者通过使用addAll方法添加进去,即可. 示例: import java.util.AbstractList; import…
在java.util.ArrayList源码中: c.toArray might (incorrectly) not return Object[] (see 6260652) 产生疑惑: 附上Java Bug 网址:Java Bug Database ,可以根据关键词或bug id 查询详细信息这个Bug的描述中可以看出:原因:Arrays内部实现的ArrayList的toArray()方法的行为与规范不一致.代码测试: import java.util.*; public class Tes…
Java中常用的数组或集合排序的方法有两个,一个是java.util.Arrays中的静态方法Arrays.sort(),还有一个是java.util.Collections中的静态方法的Collections.sort()方法,下面分别介绍两种用法. 一.java.util.Arrays中的静态方法Arrays.sort() Arrays中的sort()方法主要是针对各种数据类型(基本数据类型和引用对象类型)的数组元素排序. ....... 关于引用对象类型数组的排序sort()方法要用到接口…
在实际开发过程中我们经常使用asList讲数组转换为List,这个方法使用起来非常方便,但是asList方法存在几个缺陷: 一.避免使用基本数据类型数组转换为列表 使用8个基本类型数组转换为列表时会存在一个比较有味的缺陷.先看如下程序: public static void main(String[] args) { int[] ints = {1,2,3,4,5}; List list = Arrays.asList(ints); System.out.println("list'size:&…
Iterator(迭代器) 所有实现了Collection接口的容器都有一个iterator方法, 用来返回一个实现了Iterator接口的对象 Iterator对象称作迭代器, 用来方便的实现对容器内的元素的遍历 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价小. Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个I…
collections 是 python 的内置模块,源码位于 Lib/collections/__init__.py ,该模块提供了通用的数据容器. deque 容器对象 通过 from collections import deque 引入,创建 deque 容器对象时,可通过设置参数为 Iterable 对象(如 tuple,list,str)或 maxlen=x(int类型) or None 进行初始化. deque 容器支持线程安全,通过 append 或 pop 对 deque 的两…
Math类:数学工具类,做一些数学计算,开方,对数,三角函数等 所有方法都是静态方法,不需要建立对象,直接用类名调用即可 示例: 这里写几个在日常开发中会用到的,比如三角函数之类的平时不会用到,了解即可 package demo; public class MathDemo { public static void main(String[] args) { function1(); function2(); function3(); function4(); function5(); } pu…
这是悦乐书的第207次更新,第219篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第75题(顺位题号是349).给定两个数组,编写一个函数来计算它们的交集.例如: 输入:nums1 = [1,2,2,1],nums2 = [2,2] 输出:[2] 输入:nums1 = [4,9,5],nums2 = [9,4,9,8,4] 输出:[9,4] 注意: 结果中的每个元素都必须是唯一的. 结果可以是任何顺序. 本次解题使用的开发工具是eclipse,jdk使用的版本是1.…
先来个最简单的: # 查找列表中出现次数最多的值 ls = [1, 2, 3, 4, 5, 6, 1, 2, 1, 2, 1, 1] ls = ["呵呵", "呵呵", "呵呵", "哈哈", "哈哈", "拉拉"] y = max(set(ls), key=ls.count) print(y) 一.字频统计: ( collections 库) 2017-10-27 这个库是python…
amazeui学习笔记一(开始使用5)--藏品collections 一.总结 1.藏品collections:一些 Amaze UI 中没有的功能.amazeui认为好的解决方案.像图表绘制里面的百度echarts. 2.amaze ui:这些框架是真的良心,太便利开发了,不仅提供本身功能还提供扩展功能 二.藏品collections Collections 目录 HTML5 API 应用 UA 识别 表单处理图表绘制 <select> 相关 上传组件 日期选择 取色 图表绘制 日期格式化…
py库: jieba (中文词频统计) .collections (字频统计).WordCloud (词云) 先来个最简单的: # 查找列表中出现次数最多的值 ls = [1, 2, 3, 4, 5, 6, 1, 2, 1, 2, 1, 1] ls = ["呵呵", "呵呵", "呵呵", "哈哈", "哈哈", "拉拉"] y = max(set(ls), key=ls.count)…
假设你有一个方法,通过创建临时的List来收集某些数据,并根据这些数据来统计信息,然后销毁这个临时列表.这个方法被经常调用,导致大量内存分配和释放以及增加的内存碎片.此外,所有这些内存管理都需要时间,并且可能会影响性能. 对于这些情况,您可能希望将所有数据保留在堆栈(stack)中,并完全避免内存分配.我们向您展示了几种可以实现此目的的方法. 即使这些用例对你来说不适用,但你也可能会发现本文很有用,因为它使用了一些有趣的概念和Delphi语言功能. 堆栈与堆,值与参考类型(Stack vs He…
Collections工具类1.作用:操作Collection和Map的工具类 2.常用方法:reverse(List):反转 List 中元素的顺序shuffle(List):对 List 集合元素进行随机排序sort(List):根据元素的自然顺序对指定 List 集合元素升序排序sort(List,Comparator):根据指定的 Comparator 产生的顺序对 List 集合元素进行排序swap(List,int, int):将指定 list 集合中的 i 处元素和 j 处元素进行…
转载须注明出处:viewmode=contents">http://blog.csdn.net/minimicall?viewmode=contents.http://cloudtrade.top/ 一个完整的系统,必定会涉及到配置文件.配置文件能够是xml.属性文件等形式.大多数而言我们并不须要重写配置读取解析模块,仅仅须要使用开源的就可以,这里使用的是apapche.commons.configuration的. 我们这里要说的是Cointrader的ConfigUtil类,它涉及到配…
该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub 地址.Spring-Boot-Starter 源码分析 GitHub 地址)进行阅读 MyBatis 版本:3.5.2 MyBatis-Spring 版本:2.0.3 MyBatis-Spring-Boot-Starter 版本:2.1.4 MyBatis的初始化 在MyBatis初始化过程中,大…
Redis实现分布式锁的原理 前面讲了Redis在实际业务场景中的应用,那么下面再来了解一下Redisson功能性场景的应用,也就是大家经常使用的分布式锁的实现场景. 引入redisson依赖 <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.16.0</version> </depend…
目录: java 容器都有哪些? Collection 和 Collections 有什么区别? List.Set.Map 之间的区别是什么? HashMap 和 Hashtable 有什么区别? 如何决定使用 HashMap 还是 TreeMap? 说一下 HashMap 的实现原理? 说一下 HashSet 的实现原理? ArrayList 和 LinkedList 的区别是什么? 如何实现数组和 List 之间的转换? ArrayList 和 Vector 的区别是什么? Array 和…
目录 有哪些集合类 Set类 Queue类 List类 Map类 HashMap的实现原理,是否线程安全,如何使其做到线程安全 HashMap的实现原理 HashMap的数据结构 HashMap的存取实现 解决hash冲突的办法 再散列rehash过程 HashMap的线程安全问题 本文主要参考: <疯狂Java讲义精简版>-李刚 HashMap实现原理分析 有哪些集合类 一图终结 Set,Queue和List都是继承了Collection,即大多数集合类的根接口.而Map则是单独的另一个接口…
十一.Eureka Server 集群 在实际的生产环境中,可能有几十个或者几百个的微服务实例,Eureka Server 承担了非常高的负载,而且为了保证注册中心高可用,一般都要部署成集群的,下面就来看看 eureka server 的集群. 1.搭建 Eureka Server 集群 首先来搭建一个三个节点的 eureka-server 集群,看看效果. ① 集群配置 首先在本地 hosts 文件中配置如下映射: 1 127.0.0.1 peer1 2 127.0.0.1 peer2 3 1…
参考网址:图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS) - 51CTO.COM 深度优先遍历(Depth First Search, 简称 DFS) 与广度优先遍历(Breath First Search)是图论中两种非常重要的算法,生产上广泛用于拓扑排序,寻路(走迷宫),搜索引擎,爬虫等,也频繁出现在 leetcode,高频面试题中. 本文将会从以下几个方面来讲述深度优先遍历,广度优先遍历,相信大家看了肯定会有收获. 深度优先遍历,广度优先遍历简介 习题演练 DFS,BFS…
--------------------------------------------------------------- 本文使用方法:所有题目,只需要把标题输入lintcode就能找到.主要是简单的剖析思路以及不能bug-free的具体细节原因. ---------------------------------------------------------------- ------------------------------------------- 第九周:图和搜索. ---…
实现代码很简单:   package com.xiaozan.shopping;   import java.util.Arrays;   public class ShoppingCart {          public final static int PRODUCT_1_PRICE = 2000;    // 产品编号第一个数字为1的单价,单位(分)     public final static int PRODUCT_2_PRICE = 1000;    // 其他产品编号的单价,…
JUnit的核心对象:测试.测试类.测试集(Suite).测试运行器 1. 测试: @Test注释的.公共的.不带有任何参数.并且返回void类型的方法 2. 测试类: 公共的,包含对应类的测试方法的类 例如:CalculatorTest.java测试类,其中add()为测试方法 package com.junit.MyClass; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*;…