`
文章列表
Map接口没有继承Collection接口。它通过键的值指定数据存放位置。键值不能重复,但其值可以为null。 HashMap Hashtable HashMap 它用来将键-值映射关系存储到散列表中。它是线程不安全的。   public HashMap()//构造一个初始容量为16,加载因子为0.75的HashMap,容量为12(16x0.75) public HashMap(int initialCapacity)//构造一个初始容量为initialCapacity的HashMap public HashMap(int initialCapacity, float loa ...
1、List接口继承了Collection接口。List中的元素是按顺序存放的,可以有重复元素。 ArrayList类:实现数组的动态操作,线程不安全,执行效率比Vector高 Vector类:实现动态数组线程安全向量类 Stack类:表示后进先出的对象栈,是Vector类的子类, 2、构造方法   Arraylist类的构造方法:     public ArrayList();//构造一个初始容量为10的列表     public ArrayList(Collection c);//构造一个包含指定集合Collection对象元素的列表     public ArrayL ...
1、概要 该模式把一个请求或者操作封装到一个对象中。把发出命令和执行命令分隔开,委派给不同的对象。因为把各种命令封装成了一个一个的对象,所以可以灵活地对命令进行管理。比如:Undo和Redo。   2、什么时候需要使 ...
一般我们要创建一个对象的时候,会使用new关键字来进行创建。但是,有时候,我们需要在程序运行的时候来动态决定创建哪个类的对象。比如: public ParentClass doTask(int type){ ParentClass pc; if(type > 0)    pc = new ClassA(); else if(type = 0)    pc = new ClassB(); else    pc = new ClassC(); pc.do1(); pc.do2(); pc.do3(); } 那么,为了提高程序的可维护性和可扩展性,我们可以考虑将对象创建部分的逻辑单独提出来 ...
希望只生成某个类的一个对象的时候,可以使用该模式来定义类。 如:线程池,日志记录,设备驱动等 一、单线程 示例代码: class Singleton{ private static Singleton sl; private Singleton(){} public static Singleton getInstance(){ if(sl == null){ sl=new Singleton(); } return sl; } } public class SingletonTest{ public static void main(Strin ...
一、TreeSet介绍   1、用于对元素排序的有序集合类,集合中的元素是自然排序的,也不能有重复的元素   2、通过实现Comparable接口来完成对元素的排序。该接口中定义了int compareTo(To o)方法 示例代码: import java.util.TreeSet; import java.util.Iterator; public class TreeSetTest{ public static void main(String[] args){ TreeSet<String> ts = new TreeSet<String>(); ts ...
一、为什么不适用数组,而要使用集合类   1、有时候事先无法确定元素的个数   2、有时候需要存取不同类型的对象和数据 而数组只能存取相同数据类型的元素,而且长度是不可变的。 二、Java提供的集合都有哪些:   1、集(Set)   2、列表(List)   3、映射(Map) Set介绍:不能有重复元素   HashSet类:对元素随机排序的集合类 import java.util.HashSet; import java.util.Iterator; public class HashSetTest{ public static void main(String[] args){ ...
Global site tag (gtag.js) - Google Analytics