- 数组与容器的区别:
- 数组的长度一旦定义了就不能再改变,而集合的长度是可变的
- 数组可以存储基本数据类型,也可以存储引用数据类型而 集合只能存储引用数据类型
- 数组只能存储同一种数据类型的元素,而集合可以存储多种数据类型的元素
Collection集合
- 往Collection集合中添加元素 boolean b=对象.add(Object o);//返回布尔类型
Collection collection=new ArraysList();
int num=100;
collection.add("巩俐");
collection.add("张敏");
collection.add("大黑雄");
collection.add(100);
collection.add(num);//加入int类型的时候会自动进行装箱化为包装类collection.add(Integer.valueof(num));
System.out.println(collection);
- 把两个集合中的元素,归并到一个集合里面去,返回值是布尔类型
collection.addAll(collection1);//返回的是布尔类型,并且元素归并到collection中
- 清空集合中的所有元素
collection.clear();
- 删除集合中的某个元素
collection.remove(Object o);
- 删除两个集合中的交集元素
collection.removeAll(collection1);//返回的是布尔类型,若删除交集元素则返回true,若没有交集元素则返回false类型
- 判断集合中有没有某元素
Collection collection = new ArrayList();
collection.add(100);
collection.add(200);
collection.add(500);
System.out.println(collection.contains(1000));//返回布尔类型
- 判断集合是否为空
collection.clear();
System.out.println(collection.isEmpty());//返回布尔类型
- 判断集合中是否包含指定的集合元素(包括另外一个集合中的所有元素才是 包含则返回布尔类型)
Collection collection = new ArrayList();
collection.add(100);
collection.add(200);
collection.add(500);
collection.add(300);
collection.add(400);
Collection collection2 = new ArrayList();
collection2.add(100);
collection2.add(200);
collection2.add(300);
collection2.add(400);
boolean b = collection.containsAll(collection2);
System.out.println(b);//返回的是true
- 获取集合的长度
collection.sizeof();
- 遍历集合中的元素
方法一:利用for循环遍历
for(int i=0;i<collection.sizeof();i++){
Object o=collection.get(i);
System.out.println(o);
}
方法二:利用迭代器遍历
Iterator it=collection.iterator;
while(it.hasNext){
Object obj=iterator.next();
System.out.println(obj);
}
- 求两个集合的交集功能
A集合对B集合取交集,获取到的交集元素在A集合中。返回的布尔值表示的是A集合是否发生变化
boolean b=collection.retainAll(collection1)
//返回的布尔值表示A集合是否变化,将交集元素存在collection中
List集合
- 在指定索引处添加元素
list.add(0,500);//list.add(index,添加元素)
- 通过索引来获取集合中的元素
list.get(index);
- 根据元素来删除
list.remove(Object 0);
- 根据索引来删除集合中的元素
list.remove(index);
list.remove(Integer.valueOf(元素));如果索引和元素区分不出来,你把元素包装一下。
- 替换集合中的元素,返回的是被替换的那个旧元素
Object old = list.set(index,new);
- 返回元素的索引
int index=list.indexof(Object o);
- List的迭代器:遍历集合
//正向迭代
ListIterator it=list.listIterator();
while(it.hasNext){
Object obj=listiterator.next();
System.out.println(obj);
}
//反向迭代,listIterator.hasPrevious()
//进行反向迭代前必须进行正向迭代
ListIterator listIterator = list.listIterator();
while (listIterator.hasNext()) {
Object obj = listIterator.next();
System.out.println(obj);
while (listIterator.hasPrevious()) {
Object o = listIterator.previous();
System.out.println(o);
- 根据起始索引和终止索引,截取集合中的一部分元素,放到一个新集合中。
List list = new ArrayList();
list.add("world");
list.add("aaa");
list.add("bbb");
List list1 = list.subList(0, 2); //含头不含尾
System.out.println(list1);
示例:去除集合中重复的的元素
public class demo1 {
public static void main(String[] args) {
List list=new ArrayList();
list.add(100);
list.add(100);
list.add(200);
list.add(300);
list.add(400);
list.add(400);
list.add(400);
list.add(400);
list.add(400);
list.add(400);
for (int i = 0; i <list.size()-1; i++) {
for (int j = list.size()-1; j >i; j--) {
if(list.get(j).equals(list.get(i))){
list.remove(j);
}
}
}
System.out.println(list);
}
}