collection -- 5




概述此前我们曾经介绍过,java 提供了丰富的容器类来解决一组对象的管理问题:Collection 及其相关实现的容器简介及用法Map 简介及用法但是对于复杂的情况,jdk 提供的容器类还是显得有些不足,guava 引入了一系列新的集合类,来扩充 JDK 集合框架,令人欣慰的是,guava 的集合接口完全遵循了 jdk 的思想和理念 众所周知,jdk 的 Set 是一个继承自 Collection 的接口,用于实现不重复的元素的集合,但有时,我们是很需要一个值能够重复的 Set 的,最常见的需求就是我们需要集合中不重复的元素的集合,那么我们需要一个 Set,但是我们还需要知道集合中各个元素的出现次数,那么 Set 就无法做到了,仅适用 List 也是难以满足的,非要实现的话,代码的复杂度就会变得很高而不易于维护Guava 提供的 Multiset 解决了上述问题,简单地说,Multiset 提供了一个元素可重复的 Set,事实上,这在 C++ 的 STL 中早已有所提供,大概 
#技术帖    #龙潭书斋    #java    #jdk   
概述此前我们介绍了 java 中的各种容器:Collection 及其相关实现的容器简介及用法本文我们介绍一下最常用的 Collection 容器 ArrayList 的初始化方法 list.add最常用的方式是创建容器对象,然后将元素一个一个 add 进来:ArrayList<String> list = new ArrayList<String>(); list.add("A"); list.add("B"); list.add("C");  双大括号初始化与上面 list.add 的方法类似,在创建对象的时候,ArrayList 支持一种类似匿名内部类初始化方法:ArrayList<String> list = new ArrayList<String>() {{ add("A"); add("B"); add("C"); }}  Arrays.asList & Collections.singleto
#技术帖    #技术分享    #array    #容器   
概述泛型是 java SE5 开始支持的特性,他可以指定一个“适用于很多类的类型”,也就是参数化类型,使程序可以应用于多种类型,这样泛化的思想为程序设计增添了更高的灵活性泛型最有用的地方就是创造容器类 泛型类和接口的最基本用法下面的例子展示了泛型的基本用法:package com.techlog.test; class Temp { } public class Test<T> { private T a; public Test(T a) { this.a = a; } public T getA() { return a; } public static void main(String[] argv) { Test<Integer> test = new Test<>(5); Test<Temp> tempTest = new Test<>(new Temp()); System.out.println(test.getA()); System.out.println(test.getClass() == tempTest.getClass());
#技术帖    #龙潭书斋    #容器    #java   

200x200


概述大部分语言都提供了容器来解决实际编程中遇到的大量对象的管理功能,例如数组就是最基本的容器,但是数组的大小是固定的,一旦创建不能够再扩展容量,一般情况中,我们需要管理的对象集合大小往往是不固定的下图

#技术帖    #龙潭书斋    #list    #java   



京ICP备15018585号