JAVA提供了数组以保存相同数据类型的数据,但是如果数据类型不相同的话,如何存储它们,下面引入集合的概念。
概述:为了在程序中可以保存数目不确定的对象,JAVA提供了一系列特殊的类,这些类可以存储任意类型的对象,并且长度可变,这些类统称为集合,集合类都位于java.util包中,使用时先导包。
集合按其存储结构可分为两大类:单列集合Collection和双列集合Map
1、Collection单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口:List和Set。
常用的方法:
方法声明 | 功能描述 |
boolean add(Object o) | 向集合中添加一个元素 |
boolean addAll(Collection c) | 将指定Collection中的所有元素添加到该集合中 |
void clear() | 删除该集合中的所有元素 |
boolean remove(Object o) | 删除该集合中指定的元素 |
boolean removeAll(Collection c) | 删除指定集合中的所有元素 |
boolean isEmpty() | 判断该集合是否为空 |
boolean contains(Object o) | 判断该集合中是否包含某个元素 |
boolean containsAll(Collection c) | 判断该集合中是否包含指定集合中的所有元素 |
Iterator iterator() | 返回在该集合的元素上进行迭代的迭代器(Iterator),用于遍历该集合所有元素 |
int size() | 获取该集合元素个数 |
List集成了Collection接口中的全部方法,还增加了特有方法:
方法声明 | 功能描述 |
void add(int index,Object element) | 将元素element插入在List集合的index处 |
boolean addAll(int index,Collection c) | 将集合c所包含的所有元素插入到List集合的index处 |
Object get(int index) | 返回集合索引index处的元素 |
Object remove(int index) | 删除index索引处的元素 |
Object set(int index, Object element) | 将索引index处元素替换成element对象,并将替换后的元素返回 |
int indexOf(Object o) | 返回对象o在List集合中出现的位置索引 |
int lastIndexOf(Object o) | 返回对象o在List集合中最后一次出现的位置索引 |
List subList (int fromIndex, int toIndex) | 返回从索引fromIndex(包括)到 toIndex(不包括)处所有元素 集合组成的子集合 |
特点:元素有序、元素可重复,元素的存入顺序和取出顺序一致。
主要实现类:ArrayList和LinkedList
①ArrayList是List接口的一个实现类,是程序中最常见的一种集合,可看作是一个可变的数组。
大部分方法都继承于Collection和List
例如:实现元素存取
1 import java.util.*;
2 public class Example01 {
3 public static void main(String[] args) {
4 ArrayList list = new ArrayList(); // 创建ArrayList集5合
5 list.add("张三"); // 向集合中添加元素
6 list.add("李四");
7 list.add("王五");
8 list.add("赵六");
9 // 获取集合中元素的个数
10 System.out.println("集合的长度:" + list.size());
11 // 取出并打印指定位置的元素
12 System.out.println("第2个元素是:" + list.get(1));
13 }
14 }
②LinkedList
ArrayList在查询时速度快,但在增删时效率慢,可用另一实现类LinkedList
特有方法如下:
方法声明 | 功能描述 |
void add(int index, E element) | 在此列表中指定的位置插入指定的元素 |
void addFirst(Object o) | 将指定元素插入此列表的开头 |
void addLast(Object o) | 将指定元素添加到此列表的结尾 |
Object getFirst() | 返回此列表的第一个元素 |
Object getLast() | 返回此列表的最后一个元素 |
Object removeFirst() | 移除并返回此列表的第一个元素 |
Object removeLast() | 移除并返回此列表的最后一个元素 |
例如:
1 import java.util.*;
2 public class Example02 {
3 public static void main(String[] args) {
4 LinkedList link = new LinkedList(); // 创建LinkedList集合
5 link.add("张三");
6 link.add("李四");
7 link.add("王五");
8 link.add("赵六");
9 System.out.println(link.toString()); // 取出并打印该集合中的元素
10 link.add(3, "Student"); // 向该集合中指定位置插入元素
11 link.addFirst("First"); // 向该集合第一个位置插入元素
12 System.out.println(link);
13 System.out.println(link.getFirst()); // 取出该集合中第一个元素
14 link.remove(3); // 移除该集合中指定位置的元素
15 link.removeFirst(); // 移除该集合中第一个元素
16 System.out.println(link);
17 }
18 }
本章集合先介绍到这里,下面文章将对Set和其他集合类进行具体阐述
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)