一、集合概述:
集合与数组类似,也是一种容器,用于装数据的。
数组的特点:
①数组定义完成并启动后,类型确定、长度固定
②问题:在个数不能确定,且要进行增删数据操作的时候,数组是不太合适的
集合的特点:
①集合的大小不固定,启动后可以动态变化,类型也以选择不固定
②集合非常适合做元素个数不确定,目要进行增删操作的业务场景
③集合提供了许多丰富、好用的功能,而数组的功能很单一
二、ArrayLlist 集合
ArrayList 是集合中的一种,它支持索引。
AHayList集合的对象获取
构造器public ArrayList() 创建一个空的集合对象
ArrayList 集合添加元素的方法
方法名:public boolean add (E e) 将指定的元素追加到此集合的末尾
public void add (int index,E element) 在此集合中的指定位置插入指定的元素
三、ArrayList 对于泛型的支持
1.泛型概述:
集合都是支持泛型的
ArrayList<E>:其实就是一个泛型类,可以在编译阶段结束集合对象只能操作某种数据类型
2、举例:
ArrayList<String>:此集合只能操作字符串类型的元素
ArrayList<integer>:此集合只能操作整数类型的元素
注:集合中只能存储引用类型,不支持基本教据类型
package arraylist;
import java.util.ArrayList;
/*
目标:能够使用泛型约束ArrayList集合操作的数据类型
*/
public class ArrayListDemo2 {
public static void main(String[] args) {
// ArrayList<String> list=new ArrayList<String>();
ArrayList<String> list=new ArrayList<>();//JDK1.7开始,泛型后面的类型申明可以不写
list.add("java");
list.add("厉害");
System.out.println(list);
ArrayList<Integer> list1=new ArrayList<>();
list1.add(13);
list1.add(18);
System.out.println(list1);
}
}
四、ArrayList常用API、遍历
package arraylist;
import java.util.ArrayList;
public class ArrayListDemo3 {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
list.add("java");
list.add("java");
list.add("MySQL");
list.add("MYBatis");
list.add("HTML");
// 1、public E get(int index):获取某个索引位置的元素
String e=list.get(2);
System.out.println(e);
// 2、public int size():获取集合的大小(元素个数)
System.out.println(list.size());
// 完成集合的遍历
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
// 4、public E remove(int index):删除某个索引位置处的元素值,并返回被删除的元素
String e1=list.remove(2);
System.out.println(e1);
System.out.println(list);
// 5、public boolean remove(Object o):直接删除元素值,删除成功返回true,删除失败返回false
System.out.println(list.remove("HTML"));
System.out.println(list);
// 只删除第一个出现的这个元素值,后面的不删除
ArrayList<String> list1=new ArrayList<>();
list1.add("java");
list1.add("哈哈哈");
list1.add("java");
list1.add("MYSQL");
System.out.println(list1.remove("java"));
System.out.println(list1);
// 6、public E set (int index,E element):修改某个索引位置处的元素值
String e2=list1.set(1,"嘿嘿嘿");
System.out.println(e2);
System.out.println(list1);
}
}