Java学习笔记【集合】
来源:互联网 发布:2017上海高考分数算法 编辑:程序博客网 时间:2024/05/16 13:42
集合
1、集合接口
将集合的接口和实现分离。 例如,一个队列接口的最小形式可能类似下面这样: interface Queue<E> { void add<E element> { E remove(); int size(); } } //这个接口并没有说明队列是怎么实现的。队列有两种实现方式:一种是循环数组,另一种是使用列表。
具体的实现代码举例: //数组队列 Queue<Custom> expressLane = new CircularArrayQueue<>(100); expressLane.add(new Custom("Harry")); //链表队列 Queue<Custom> expressLane = new LinkedListQueue<>(100); expressLane.add(new Custom("Harry")); Java类库中,集合类的基本接口是Collection接口。有两个最基本的方法: public interface Collection<E> { boolean add(E element); Iterator<E iterator(); } 1)迭代器:遍历集合中的元素 public interface Iterator<E> { E next(); boolean hasNext(); void remove(); } 2)泛型实用方法。检测任意集合是否包含指定元素的泛型方法: public static <E> boolean contains(Collection<E> c, Object obj) { for(E element: C) if(element.equals(obj)) return true; return false; }
2、具体的集合
I、链表 Java中,所有链表实际上都是双向链接的,有序集合。 List<String> staff = new LinkedList<>(); staff.add("zhang san"); staff.add("Li si"); Iterator iter = staff.iterator(); String first = iter.next();//第一个元素 String second = iter.next();//第二个元素 iter.remove(); //删除最后访问的元素
II、数组列表 即ArrayList。
III、散列集 快速地查找所需要的对象,这就是散列表。散列表为每个对象计算一个整数,成为散列码。 Java中,散列表用链表数组实现,每个列表被称为桶。 set是没有重复元素的集合。 set的add方法首先查找是否有已存在的对象,如果没有,就将这个对象添加进去。
IV、树集 TreeSet(Collection<? extends E> elements)
V、映射表集 HashMap和TreeMap。 散列映射表示例: Map<String, Employee> staff = new HashMap<>(); Employee harry = new Employee("zhang san"); staff.put("110", harry); ...
3、集合框架
Java集合类库构成了集合类的框架。集合有两个基本的接口:Collection和Map。
0 0
- Java集合学习笔记
- JAVA学习笔记--集合
- java学习笔记--集合
- JAVA集合学习笔记
- Java学习笔记-集合
- Java集合学习笔记
- JAVA学习笔记--集合
- Java学习笔记【集合】
- 【Java学习笔记】集合
- java学习笔记-集合
- java学习笔记:集合
- 《Java集合》学习笔记
- 学习笔记 java集合
- Java集合学习笔记
- Java集合学习笔记
- Java学习笔记---集合
- java集合学习笔记
- java学习笔记集合框架Set集合
- Scala深入浅出进阶经典 第68讲:Scala并发编程原生线程Actor、Cass Class下的消息传递和偏函数实战解析及其在Spark中的应用源码解析
- 编译安装php, Cannot find libmysqlclient under /usr
- Scala深入浅出进阶经典 第69讲:Scala并发编程react、loop代码实战详解
- HTML表格
- 黑马程序员-day06-面向对象
- Java学习笔记【集合】
- C2第二次作业
- vim每日一插(一)——NERDTree
- 黑马程序员---Java基础---注册登录猜字小游戏
- Scala深入浅出进阶经典 第70讲:Scala界面GUI编程实战详解
- C++线程安全
- Android开源项目
- Scala深入浅出进阶经典 第71讲:Scala界面Panel、Layout实战详解
- 【排序算法】——快速排序