集合(collection);
集合和数组的对比:1.内容区别:集合只能存引用类型对象,但数组对引用类型和基本类型都可以 存入
2.长度区别:集合容量无限,数组容量有限
3.元素区别:数组只能存相同的数据类型,集合可以存储不同的数据类型
public static void main(String[] args) {
//数组可以存基本数据类型,也可以存引用数据类型,如下代码:
int[] arr1={1,2,3};//定义数组,存基本数据类型
String[] arr2={"a","b","c"};//定义集合,存引用数据类型
System.out.println(Arrays.toString(arr1));
System.out.println(Arrays.toString(arr2));
//集合存储引用数据类型
ArrayList<String> list=new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
System.out.println(list);
// ArrayList<int> list1=new ArrayList<>();此处报错,因为集合不能存基本数据类型
//如果一定要集合存基本数据类型,那么存的应该是起包装类,代码乳腺癌
ArrayList<Integer> list1=new ArrayList<>();
list1.add(1);
list1.add(2);
System.out.println(list1);
}
1.collection:集合的根接口,该接口中定义了集合的通用方法
public static void main(String[] args) {
//因为collection是一个接口,所以要用到多态
Collection<String> list=new ArrayList<>();
//添加方法
list.add("hellow");
list.add("world");
list.add("hellowworld");
list.add("java");
list.add("javaee");
//删除包含java的元素
list.removeIf(s->s.contains("hellow"));
System.out.println(list);
//判断集合中是否包含hellow
boolean flag = list.contains("hellow");
System.out.println(flag);
//判断集合是否为空
list.clear();//清空集合
boolean empty = list.isEmpty();
System.out.println(empty);
}
迭代器(iterator):是一种遍历集合的通用方式,hasNext和Next方法
public static void main(String[] args) {
//建立集合
Collection<String> list = new ArrayList<>();
list.add("hellow");
list.add("world");
list.add("hellowworld");
list.add("java");
list.add("javaee");
//迭代器,是一种遍历集合的通用方式
//创建一个迭代器
Iterator<String> it = list.iterator();
//判断集合中是否有元素可以迭代,用hasNext()方法
while (it.hasNext()){
//取出该元素并且指向下一个元素,用next()方法
String next = it.next();
System.out.println(next);
}
list:集合概述和特点
1.有序集合
2.有索引
3.可重复
list常见的方法:
public static void main(String[] args) {
//定义集合,往集合里面添加元素
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
//void add(int index ,E element)在此集合中的指定位置插入指定的元素
//原来位置上的元素往后挪了一个案例
list.add(0,"qqq");
System.out.println(list);
//E remove(int index) 删除指定索引处的元素,返回被删除的元素
list.remove(0);
System.out.println(list);
//E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
list.set(0,"999");
System.out.println(list);
//E get(int index) 返回指定索引处的元素
String s = list.get(1);
System.out.println(s);
}