- 浏览: 40563 次
- 性别:
- 来自: 北京
最新评论
-
孤烟客:
synchronized与Lock在实现上并没有本质的区别,所 ...
java中的并发:高级并发对象 -
戢_时光:
xiao1zhao2 写道戢_时光 写道 5)Lock可以 ...
java中的并发:高级并发对象 -
cywhoyi:
加点难度,如何解决拆包、粘包
java网络编程基础:TCP -
xiao1zhao2:
戢_时光 写道 5)Lock可以提高多个线程进行读操作的效 ...
java中的并发:高级并发对象 -
james219:
同问,想了解性能如何
java中的并发:高级并发对象
文章列表
目录
1.常用方法2.遍历3.内存结构4.扩容方式5.Map的其他实现类
HashMap<K,V>是最常用的一种map,在其内部包装了一个Node<K,V>的类,并且用Node型的数组table用来存储数据,与ArrayList一样的实现了元素的增删以及扩容等功能.K一般是8中基本类型的封装类和String类,可存储null的键和null的值.
1.常用方法
add()
addAll()
增加元素
remove()
clear()
删除元素
size()
isEmpty()
get()
equals ...
目录
1.Collections常用方法2.自然排序3.整体排序4.Iterator<E>
1.Collections常用方法
addAll(Collection<? super T> c, T... elements)
将所有指定元素添加到指定collection中
reverse(List<?> list)
反转指定列表中元素的顺序
shuffle(List<?> list)
使用默认随机源对指定列表进行置换
sort(List<T> list)
根据元素的自然顺序对指定列表进行排序
...
目录
1.无序&&唯一2.真的唯一么?3.先入为主4.Set的其他实现类
HashSet实现了Set接口,内部主要是通过HashMap实现的.
1.无序&&唯一
public class HashSetDemo1 {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
String[] str = new String[] { "collection", "li ...
目录
1.常用方法2.关于遍历3.关于删除4.关于删除5.关于删除6.关于扩容7.关于最大容量8.1.8版本新特性9.List的其他实现类
ArrayList实现了List接口,内部通过Object类型的数组有序存储数据(可重复),并且能够根据元素数量进行扩容,实现了动态的增加和减少元素.
1.常用方法
add()
addAll()
增加元素
remove()
removeAll()
clear()
移除元素
contains()
containsAll()
是否包含指定元素
size()
isEmpty() ...
1.概述
Java集合框架,Java Collections Framework(JCF),主要包括单值集合(collection),键值映射(map),和对于JCF进行包装的算法类.
1.1 Collection<E>
Collection是所有单值集合的根接口,E表示集合中元素的类型.JDK不提供此接口的任何直接实现,而是提供更具体的子接口(如List,Set等).
1.2 Collections && Iterator
Collections完全由在collection上进行操作或返回collection的静态方法组成.它包含在collecti ...
1.定义
内部类是指在一个外部类的内部在定义一个类.内部类作为外部类的一个成员,并且依附于外部类而存在的.内部类可为静态,可用protected和private修饰(外部类只能是public和缺省的包访问权限).内部类主要有以下几种:成员内部类,局部内部类,静态内部类,匿名内部类.
2.为什么需要内部类
典型情况是:内部类继承自某个类或实现某个接口,内部类的代码操作创建其外部类的对象.所以你可以认为内部类提供了某种进入其外部类的窗口.使用内部类最吸引人的原因是:每个内部类都能独立的继承自接口的一个实现,无论外部类是否已经继承了这个实现对于内部类都没有影响.如果没有内部 ...
递归算法就是一个函数通过不断对自己的调用而求得最终结果的一种思维巧妙的算法.无论在哪种语言里,汉诺塔都是递归算法的经典题目.
1.题目简介
有三根相邻的柱子,左边的柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到右边的柱子上,并且每次移动同一根柱子上都不能出现大的盘子在小的盘子上方.
2.逻辑分析
假设我们有一个方法move(n)已经实现n个盘子的移动,当我们想再实现n+1个盘子的移动时,该怎么做呢?>>首先调用move(n),将n个盘子从左边移动到中间的柱子;>>然后将第n+1个盘子从左边移动到右边的柱子;>& ...
本规范中标红的内容为强制性遵循内容,开发人员必须遵守;蓝色为强烈建议性内容,最好遵守;其他内容为一般性建议.不足之处欢迎大家指点补充.
1.命名规则
1.1基本的规则
1,字符集在26个英文字母、0到9的阿拉伯数字和下 ...
lambda表达式在SE1.8中引入,与接口中的唯一的抽象方法相匹配,语法:(参数列表)->返回值,返回值也可以通过{}和return实现.
1.引入lambda之前,先对一个String列表进行排序
import java.util.*;
public class LambdaDemo1 {
public static void main(String[] args) {
List<String> name = Arrays.asList("James", "Kobe", "Yao"); ...
泛型(Generics)是由编译器来验证从客户端将一种类型传送给某一对象的机制,实现了数据类型的参数化.
1.在使用泛型之前,先来看一下没有泛型的java集合框架(Collection)
import java.util.ArrayList;
import java.util.List;
public class GenericsDemo1 {
private final List list = new ArrayList();
public void addList() {
list.add("test");
list.ad ...
枚举类型是j2se在1.5引入的新的类型,通过关键字enum来定义,常用来存储一些常量.
1.定义一个简单的枚举类型
public enum Sex {
MAN,
WOMAN
}
枚举类型本质是类,编译此段代码会生成.class文件.通过Sex.MAN来访问Sex中的成员,其返 ...