标签:输出 动态内存分配 else clear sys 个数 集合类 iter 结构
一、介绍
数组可以存储具有相同类型的元素集合,但是不支持动态内存分配,即长度是固定的,不能改变。固有统一的collection框架来支持这种动态分配的数据结构。
二、collection
(一)collection是单列集合,是集合类 Set和list、queue的上级接口
1、基本操作:
①add(Object o):增加元素
②addAll(Collection c):...
③clear():...
④contains(Object o):是否包含指定元素
============================================================
public class ArrayDequeDemo {
public static void main(String[] args) {
//创建容量为8的一个队列
Deque<Integer> deque = new ArrayDeque<Integer>(8);
//添加元素到队列中
deque.add(20);
deque.add(21);
deque.add(10);
deque.add(11);
// 判断是否包含10,有则返回true
boolean retval = deque.contains(10);
if (retval == true) {
System.out.println("element 10 is contained in the deque");
}
else {
System.out.println("element 10 is not contained in the deque");
}
// 判断是否包含25,有则返回true
boolean retval2 = deque.contains(25);
if (retval2 == true) {
System.out.println("element 25 is contained in the deque");
}
else {
System.out.println("element 25 is not contained in the deque");
}
}
}
输出结果:
============================================================
⑤containsAll(Collection c):是否包含集合c中的所有元素
⑥iterator():返回Iterator对象,用于遍历集合中的元素
============================================================
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
//用for循环遍历
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//用增强for循环
for (Integer i : list) {
System.out.println(i);
}
//用iterator+while
Iterator<Integer> it = list.iterator();
while (it.hasNext()) {//读取下一个目标,判断它是否存在,返回true
int i = (Integer) it.next();//读取输入的字符,以空格为分隔符,返回输入的字符
System.out.println(i);
}
//用iterator+for
for (Iterator<Integer> iter = list.iterator(); iter.hasNext();) {
int i = (Integer) iter.next();
System.out.println(i);
}
============================================================
⑦remove(Object o):移除元素
⑧removeAll(Collection c):相当于减集合c
⑨retainAll(Collection c):相当于求与c的交集
⑩size():返回元素个数
?toArray():把集合转换为一个数组
2、set集合:无序不重复
标签:输出 动态内存分配 else clear sys 个数 集合类 iter 结构
原文地址:https://www.cnblogs.com/Tibbers/p/12698709.html