ArrayList详解
ArrayList是List接口的一个实现类,它是程序中最常见的一种集合。其内部可封装一个可变长度的数组对象,但存入的元素超过数组长度时,ArrayList会在内存中分配一个更大是数组来存储这些元素,因此可以将Arraylist集合看作一个长度可变的数组。
1.ArrayList的创建和增删改查
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
//添加
list.add("古道");
list.add("西风");
list.add("瘦马");
list.add("哈哈");
list.add("吴彦祖");
System.out.println(list);
//删除
list.remove("哈哈");
list.remove(1);
//修改
list.set(2,"Hello");
System.out.println(list);
//获取
String a=list.get(0);
System.out.println(a);
//集合长度
System.out.println(list.size() );
//元素长度
System.out.println(list.get(1).length());
}
运行结果
[古道, 西风, 瘦马, 哈哈, 吴彦祖]
[古道, 瘦马, hello]
古道
3
2
2.集合遍历
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
3.删除字符集里面的某指定字符串
public static void main(String[] args) {
ArrayList<String> array=new ArrayList<>();
array.add("abc");
array.add("def");
array.add("def");
array.add("ghi");
array.add("def");
array.add("def");
array.add("hij");
array.add("jkol");
for (int i = 0; i <array.size() ; i++) {
System.out.print(array.get(i)+" ");
}
int num=0;
num = qu(array, num);
System.out.println(num);
for (int i = 0; i <array.size() ; i++) {
System.out.print(array.get(i)+" ");
}
}
private static int qu(ArrayList<String> array, int num) {
for (int i = 0; i < array.size(); i++) {
if (array.get(i)=="def"){
array.remove(i);
num++;
i--; //remove后ArrayList的长度就发生了改变所以需要i--
}
}
return num;
}