Collection接口
这是集合的基本接口,他对集合的基本行为进行定义,如:
// T 表示任意类型
void add(T t);//向集合添加元素
boolean contains(Object o)//比较集合内部是否有相同的对象
boolean remove(T t);//删除对应元素
int size();//返回集合元素个数
void clear();//清空集合
Iterator<T> iterator();//获取一个特殊的类Iterator<T>类
T[] toArray();//将集合转换为数组
boolean isEmpty();//判断集合是否为空
void sort(Comparator c);//根据传入的比较器对元素进行比较
List接口
继承了Collection接口,定义了一种可以存储重复对象的有顺序的集合的基本行为。用法与数组类似,用于存储任意对象。通过add()方法向集合添加对象,根据添加的先后顺序决定集合的位置。通过get()方法获取。
List<String> list = new ArrayList<>();
list.add("1");
list.add("1");
list.add("2");
list.add("3");
System.out.println(list.get(0))//将获取下标为0,即第一个元素,将输出 1
ArrayList类
以数组存储而实现的List集合类。
由于是通过数组进行实现的,所以对于元素的查找有着更快的速度。
LinkedList类
以链表存储而实现的List集合类。
由于是通过链表进行实现的,所以对于元素的插入删除有着更快的速度。
Iterator<E>接口
定义了一种存取元素的基本行为。用于遍历集合。如
boolean hasNext();//判断是否还有下一个元素
T next();//取出下一个元素
用法:通过集合的iterator()方法获取装载了集合元素的Iterator的实现类。在通过next()方法一个个获取元素。
Iterator<集合内的元素类型> 变量名1 = 集合.iterator();
while(变量名1.hasNext){
集合内的元素类型 变量名2=变量名1.next();//这是用法之一
}
//例子
List<String> list = new ArrayList<>();
//添加元素
//....
Iterator<String> iterator = list.iterator();
while(iterator.hasNext){
System.out.println(iterator.next);
}
Set接口
继承了Collection接口,定义了一种只能存储不同对象的无序的集合的基本行为。
HashSet类
通过hash表进行保存集合元素。
TreeSet类
通过二叉树进行保存集合元素。
Map接口
定义了一种以键值对进行存储的集合的基本行为。
// K , VT 表示任意类型
void put(K key,V value);//向集合添加元素
void get(K key);//获取对应键的值
boolean contains(Object o)//比较集合内部是否有相同的对象
boolean remove(K Key);//删除对应元素
int size();//返回集合元素个数
void clear();//清空集合
Set<Map.entry<K,V>> entrySet();//返回集合的键值对的Set集合
boolean isEmpty();//判断集合是否为空
HashMap类
以hash表为基础进行存储的Map实现类。
TreeMap类
以红黑树为基础进行存储的Map实现类。
Map.Entry<K,V>接口
定义了一种键值对的基本行为。主要用于存储键与其对应的值。为遍历Map集合提供一种简单的方式。
//获取键
K getKey();
//获取值
V getValue();
用法:通过Map方法中的getEntrySet()方法获取集合的键值对的Set集合。通过遍历Set集合的方式进行遍历。如:
Map<Integer,String> map =new HashMap();
map.put(1,"a");
map.put(2,"b");
map.put(3,"c");
Set<Map.Entry> entrys= map.entrySet();
for(Map.Entry entry: entrys){
//打印map中所有的元素键值对
System.out.println(entry.getKey + ":" + entry.getValue);
}