Java集合框架

Java集合框架

1、概述

  • java除了提供基本的数据类型支持外,还提供了对数据对象类型的存储框架,可以非常高效的,方便的操纵这些数据对象,并且能动态增长,集合可以用来存储、检索、操作、通信,它主要包含接口和实现类一些具体的操作方法。
  • java的集合框架主要有两种,一种是集合(Collection),集合是存储一类元素的结合,它是最基本的容器接口,继承了Iterable接口。另一种是图,它存储了键值对的映射关系,通过键能得到值。

2、Collection

  • Collection接口有三种子类型,分别为List,Set和Queue,由抽象类到具体的实现类,常用的有

    1、List介绍

  • List容器中的元素是有序可重复的,它能够控制每个元素的插入位置,用户还可以直接通过索引来进行访问。List的实现类还有LindedList,ArrayList,vector和stack.

    2、Set介绍

  • Set里面存储的元素都是不重复的,并且里面的元素是无序的

3、Queue介绍

  • 队列继承了Collection接口,和List,Set是同一个级别的,只允许在一端进行插入操作,另一端进行删除操作。具有先进先出的特性

4、Map

  • 在程序中用于管理映射关系
  • map里面的key和value是一一对应的,并且不允许里面的key重复
  • map里面最重要的有一个entry方法,里面定义了对key或者value的获取方法
4.1 HashMap
  • HashMap是最常用的map,存储根据键的hashCode来进行存储,根据键可以直接获取值,访问速度很快。
  • 遍历方式:遍历方式有根据keySet()值遍历和entrySet()键值进行遍历,还有迭代器iterator()的遍历方式。
  • iterator()方法的遍历:
1
2
3
4
5
6
7
8
9
10
11
12
# 使用keySet进行遍历
Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String key = iterator.next();
System.out.println(map.get(key));
}
# 使用entrySet()进行遍历
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
System.out.println(entry.getValue());
}

3、Iterator

  • iterator其实就是遍历,提供的标准化遍历容器内所有对象的方法,在迭代过程中,使用者不需要了解集合的内部的结构。
  • iterator主要有3个方法
1
2
3
hasNext()  //判断是否还有元素供迭代
next() //返回迭代的下一个元素
remove() //移除迭代器返回的最后一个元素

4、泛型

  • 泛型主要是为了解决代码被不同对象的类型重用的问题,在集合框架中有广泛的使用。

4.1 泛型类

1
2
3
4
public class Pair<K, V> {
private K key;
private V value;
}

4.2 泛型方法

1
2
3
4
5
6
7
    public Class A{
public static <T>T test(T t){
return t;
}
public static <T> void hi(T t){
}
}

4.3 类型限定

  • 需要限制类型时使用 extends

热评文章