Java集合框架专题(学习的那个过程,请指教)
Java集合框架——基础接口
先看图:
上图中关键的接口有:
Collection Set List Map 还有一个Iterator,还有一个是上图没有的Queue接口,也是继承Collection的。
图中的
1,短虚线,表示接口;
2,长虚线,表示抽象类;
3,实线,表示实现类;
4,加强线,表示重点;(没别的意思,这图不是我自己画的,只能解释一下)
5,虚线加实心箭头,表示当前接口实现了一个指向接口定义的方法。
6,Collections与Arrays是两个支持类,实现了很多的静态方法可以直接使用。(一定要看看)
基本图介绍完后,看具体的接口方法,很大程度上是这样的,理解了接口,也就理解了框架。
第1点:Collection
int size(); //获取长度
boolean isEmpty(); //判断为空
boolean contains(Object o); //判断是包含当前元素,它有两个可选择的异常;1,当类型不匹配时,抛出ClassCastException;2,当集合为NULL时,抛出NullPointerException。
Iterator<E> iterator(); //迭代器,不能保证顺序的返回元素(除非能够保证集合都是某个类的实例)
Object[] toArray(); //返回一个数组(如果集合满足迭代器的规则,返回的数组必须保证顺序)
<T> T[] toArray(T[] a); //看上一点,泛型要主要类型,会抛出ArrayStoreException与NullPointerException两种异常,其实在toArray()也加一个NullPointerException为可选比较好,实际也是有的。
boolean add(E e); //增加一个元素到集合
boolean remove(Object o); //从集合中移除一个元素
下面这部分是对组的操作
boolean containsAll(Collection<?> c);
boolean addAll(Collection<? extends E> c);
boolean removeAll(Collection<?> c);
boolean retainAll(Collection<?> c); //与removeAll的功能相反,移除不属于c的元素。
void clear(); //清空集合
下面两个是
boolean equals(Object o); //比较两个对象是否相等
int hashCode(); //主要是加快比较,如果调用equals方法相等,hashCode必须相等,反过来是不成立的,这样就可以通过比较两个hashCode,如果不相等,equals就不相等。
第二点:Set (略,因为与Collection一样)没有加新方法,至于为什么要这个,而直接用Collection,这个有点像是儿子与侄子的关系,就是为了让Set与List接口平级,也许我的说法有些问题,因为我还没有想到别的比喻。
第三点:List
在Collection接口的基础上加了以下方法:
boolean addAll(int index, Collection<? extends E> c); //从指定位置插入
E get(int index); //获取指定位置的元素
E set(int index, E element); //修改指定位置的元素
void add(int index, E element);//在指定的位置插入元素
E remove(int index); //根据位置移除元素
int indexOf(Object o); //返回第一次出现o元素的位置
int lastIndexOf(Object o); //与上一条相反,最后的位置
ListIterator<E> listIterator(); //调用listIterator(0);所以只关注下面的方法及可
ListIterator<E> listIterator(int index);//其实这个方法是list自己的实现,而Iterator为了统一调用,最后也是调用这个方法,listIterator(),再到listIterator(0);这个方法实现了list表的迭代器,是特性,肯定是重点关注。
List<E> subList(int fromIndex, int toIndex);//返回一个从fromIndex到toIndex的list
第四点:Map<K,V>
与Collection没有直接的继承关系,只不过有一个返回Collection的values方法。
int size();
boolean isEmpty();
boolean containsKey(Object key);
boolean containsValue(Object value);
V get(Object key);
V put(K key, V value);
V remove(Object key);
void putAll(Map<? extends K, ? extends V> m);
void clear();
Set<K> keySet();
Collection<V> values();
Set<Map.Entry<K, V>> entrySet();
interface Entry<K,V>
boolean equals(Object o);
int hashCode();
突然不想加备注了,读者自己看吧,总不能总是依靠别人来哦,因为我写的这个,不是知识博文,也是过程博文。
差点把Queue给忘记了。
第五点:Queue
这个在继承Collection后,也是增加了自己的方法:
boolean add(E e);
boolean offer(E e);
E remove();
E poll();
E element();
E peek();
它在concurrent包中得到了重用,在util包中有Deque接口继承了它,再是LinkedList与ArrayDeque实现了Deque接口。这一块目前,网上资料不多,应该重点关注(刚好学好了,再去写线程池ThreadPoolExecutor类会比较深入些)。
写到这了,别的还在看。
- 大小: 60.6 KB
分享到:
相关推荐
这份“java基础——————试题库”资源旨在帮助学习者系统地复习和深入理解Java的基础知识,确保他们能够全方位地掌握这一强大的编程工具。下面将详细阐述Java的基础知识点。 1. **Java简介** - Java是由Sun ...
《数据结构和Java集合框架》是清华大学出版社出版的一本经典教材,主要涵盖了计算机科学中的核心概念——数据结构以及Java编程语言中的集合框架。这本书通过深入浅出的方式,讲解了如何用Java实现各种常用的数据结构...
### 精通Java集合框架——List, Set, Map #### 概述 Java集合框架是一种高度抽象且灵活的数据组织工具,它通过一系列接口来定义不同类型的数据容器,并提供了丰富的操作这些容器的方法。本文将深入探讨Java集合...
5. **集合框架**:JAVA集合框架是存放和操作对象的容器,包括List、Set、Map等接口以及ArrayList、HashSet、HashMap等实现类。学习笔记会详细介绍它们的使用场景和操作方法。 6. **IO流**:JAVA的输入/输出流系统...
首先,我们关注Java集合框架的基础——Collection接口。Collection是所有集合类型的顶级接口,它定义了一组通用的操作方法,如add()、remove()和iterator()。Collection接口的主要特点是它存储一组不重复的元素,...
本文将深入解析Java集合框架的关键知识点,涵盖其核心组件、接口以及常用类。 #### 一、Collection概述与特性 **1. Collection作为根接口** Collection接口是Java集合框架的核心,它定义了对集合对象进行基本操作...
- **集合框架**:List、Set、Map等集合类的特性和应用场景。 - **输入输出流**:文件读写操作,网络通信等。 - **线程基础**:线程的概念、生命周期、同步与互斥等基础知识。 ### 5. 实战项目案例 - **简单案例...
此外,Java集合框架是处理对象集合的重要工具,包括List(如ArrayList、LinkedList)、Set(如HashSet、TreeSet)和Map(如HashMap、TreeMap)等接口和实现类,提供了丰富的操作方法。 最后,Java的IO流和NIO(非...
1. **理解Java集合框架的层次体系结构**:这涉及到集合接口与其实现类之间的关系,例如`Collection`接口与`List`、`Set`接口,以及具体的实现类如`ArrayList`、`LinkedList`、`HashSet`等。 2. **掌握List、Set、...
Java集合框架是存储和管理对象的重要工具,如ArrayList、LinkedList、HashMap、HashSet等。面试中会考察对各种集合类的性能特点、操作方法和适用场景的理解,以及如何在实际问题中合理选择和使用。 四、多线程 Java...
文件名"Java 大学实用教程"暗示了课程可能包含实用的编程示例,如文件I/O操作、多线程编程、集合框架的使用(如ArrayList、LinkedList、HashMap等)以及网络编程。理解如何读写文件、如何实现多线程并行执行以及如何...
最后,笔记可能会涵盖一些实用的Java库,如集合框架(ArrayList、LinkedList、HashMap等)、IO库和JDBC(Java Database Connectivity)用于数据库交互。 总的来说,"良葛格的Java学习笔记"是一个全面而详尽的入门...
Java集合框架是Java编程语言中一个非常重要的组成部分,它为数据存储和...记住,理解和掌握Java集合框架不仅能提高开发效率,也是成为一名优秀Java程序员的基础。不断练习,深入探索,你将在Java集合的世界中游刃有余。
Java API包括类库、接口和异常等,如集合框架(java.util包),I/O流(java.io包),网络编程(java.net包)等。Java API是通过JAR文件分发的,开发者通过import关键字引入所需类。理解Java API需要掌握面向对象编程...
3. **集合框架**:Java集合框架提供了丰富的数据结构和算法实现,如ArrayList、LinkedList、HashSet、HashMap等,它们在存储和操作数据时起到关键作用。 4. **输入/输出流**:Java的I/O流系统支持对文件、网络、...
5. **集合框架**:Java提供了丰富的集合框架,如ArrayList、LinkedList、HashSet、HashMap等,用于存储和操作对象。 6. **IO流**:Java的IO流用于读写数据,包括文件I/O和网络I/O。InputStream和OutputStream处理...
- **容器**:ArrayList、LinkedList、HashSet、HashMap等是Java集合框架中的常见容器,它们各自有不同的特点和适用场景。 - **迭代器**:用于遍历集合中的元素,提供hasNext()和next()方法。 - **泛型**:Java 5...
了解Java的基础语法、类、接口、异常处理、多线程以及集合框架等是项目开发的基础。 2. **Servlet与JSP**:Java Web开发中,Servlet用于处理HTTP请求,JSP则负责动态生成HTML页面。理解Servlet生命周期,掌握JSP...