Java集合
概念:集合表示一组被称为其元素的对象,用来存储数据。
Collection
1、Collection:单列集合,每个元素只包含一个值。
集合 | 特点 |
---|---|
List系列集合 | 添加的元素是有序,指添加和获取的顺序一样 、元素可重复 、有索引 |
Set系列集合 | 1、添加的元素不重复、无索引 2、HashSet无序,LinkedHashSet和TreeSet是有序的 |
collection常用方法 | 方法说明 |
---|---|
public boolean add(E e) | 添加元素,返回添加是否成功 |
public void clear() | 清空集合所有的元素 |
public boolean isEmpth() | 判断集合是否为空,空返回true |
public int size() | 获取集合的大小 |
public boolean contains(Object obj) | 判断集合是否包含某个元素 |
public boolean remove(E e) | 删除某个元素,有重复的元素会删除第一个 |
public Object[] toAarray() | 将集合转成数组 |
public Iterator iterator() | 返回迭代器 |
/*单列结合,直接子类是List,集合存储的是元素的内存地址*/
Collection<String> c = new ArrayList<String>();
//1、add添加方法
c.add("java");
c.add("java1");
c.add("java2");
System.out.println(c);//[java, java1, java2]
//2、clear清空集合
//c.clear();
//System.out.println(c);//[]
//3、isEmpty()是否为空
boolean isEmpty = c.isEmpty();
System.out.println(isEmpty);
//4、集合大小
int size = c.size();
System.out.println(size);//3
//5、判断集合是否包含某个元素
boolean contains = c.contains("java");
System.out.println(contains);
//6、移除某个元素
c.remove("java");
System.out.println(c);
//7、转成数组
Object[] o = c.toArray();
System.out.println(Arrays.toString(o));
2、集合遍历方式
- 迭代器
迭代器是用来遍历集合的专用方式,主要接口代表是Iterator。
迭代器主要方法 | 说明 |
---|---|
boolean hasNext() | 判断当前位置是否有元素,存在返回true |
E next() | 获取当前元素,同时将迭代器对象指向下一个元素 |
Collection<String> c = new ArrayList<String>();
//1、迭代器遍历集合
c.add("java");
c.add("java1");
c.add("java2");
Iterator<String> iterator = c.iterator();
while(iterator.hasNext()){
String next = iterator.next();
System.out.print(next+" ");//java java1 java2
}
- 增强for循环
本质就是迭代器遍历集合
//2、增强遍历
for (String string : c) {
System.out.println(string);
}
- 调用forEach,结合Lambda表达式(JDK1.8及之后)
c.forEach(i->{
System.out.println(i);
});
List
List集合支持索引,所以拥有一些跟索引相关的方法
方法 | 说明 |
---|---|
public void add(int index, E element) | 在指定位置插入元素 |
public E remove(int index) | 删除指定位置的元素,返回被删除的元素 |
public E set(int index, E element) | 修改指定位置的元素,返回被修改的元素 |
ppublic E get(int index) | 返回指定位置的元素 |
List<Integer> list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
System.out.println(list);//[1, 2, 3]
//1、在指定位置插入元素
list.add(1,4);
System.out.println(list);//[1, 4, 2, 3]
//2、删除指定位置的元素,返回被删除的元素
int removed = list.remove(2);
System.out.println(removed);//2
System.out.println(list);//[1, 4, 3]
//3、修改指定位置的元素,返回被修改的元素
int set = list.set(0,5);
System.out.println(set);//1
System.out.println(list);//[5, 4, 3]
//4、返回指定位置的元素</