ArrayList常用方法总结

在这个中介绍什么是范型
2. 什么是范型
3. static ArrayList array=new ArrayList <>();这样是array显示为Student类型。
范型是说所操作的数据类型,被指定为一个参数,本质是参数化类型。这种参数化类型,在类,接口,方法的创建中,可以分别称为范型类,范型接口,范型方法。
在写1,ArrayList list=new ArrayList<>();
2,ArrayList list=new ArrayList();
第一种表示的是为Object类型的集合则可以存入任何类型比如:list.add(new Text2())。
第二种表示的是存入的是String类型的集合,但他只能存入的是String类型的其他的会报错。
在这里插入图片描述
在这里插入图片描述
在集合Collection中有两个接口分别为list和Set,在接口下面分别有两个抽象类分别为AbstractList和AbstractSet,他们分别继承一部分接口的方法,在AbstractList 中有两个子类ArrayList和Vector,在AbstractSet中有两个子类有TreeSet和HashSet。在这些方法中全部实现了抽象类中的方法。
在ArrayList中常用方法:
1,add(Object element)向列表的尾部添加指定元素。
get(int index)返回列表中指定位置,index从0开始。
package com.jd.tt;

import java.util.ArrayList;
import java.util.Iterator;

public class Text2 {
public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add(“Tom”);
list.add(“jim”);
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
}
结果是:Tom jim
在add(int a,Object element)中是在指定位置添加元素,其后的元素往后移。
在这里插入图片描述2,int size();为用于获取集合中有多少个元素。
package com.jd.tt;

import java.util.ArrayList;
import java.util.Iterator;

public class Text2 {
public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add(“Tom”);
list.add(“jim”);
System.out.println(list.size());
}
}
结果为:2
3,set(int i,Object element)将索引位置元素替换为元素element并返回被替换的元素。 如下显示的jim被替代了。
在这里插入图片描述
4,clear()从列表中移除所有的元素。下面结果显示为0则就表明clear()移除了所有的元素。

package com.jd.tt;

import java.util.ArrayList;
import java.util.Iterator;

public class Text2 {
public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add(“Tom”);
list.add(“jim”);
list.clear();//清空List集合中的所有元素
int length=list.size();
System.out.println(length);//输出0,jiner shuo ming clear用于清空集合元素

}

}
在这里插入图片描述
5,isEmpty();是显示集合中是否有元素。集合容器没有元素,则显示false
package com.jd.tt;

import java.util.ArrayList;
import java.util.Iterator;

public class Text2 {
public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add(“Tom”);
list.add(“jim”);
boolean flag = list.isEmpty();//集合容器没有元素,则true
System.out.println(flag);
}
}

在这里插入图片描述
6,remove(0);删除指定索引(从0开始)位置的元素,并将元素返回,并后面元素前移.在这个中
1,String str = list.remove(0);//删除指定索引(从0开始)位置的元素,并将元素返回,并后面元素前移
System.out.println(list.get(0));
System.out.println(str);
这个是str是保存的删除的信息。
2,boolean flag=list.remove(“ABC”);//删除元素,成功返回的值为true

package com.jd.tt;

import java.util.ArrayList;
import java.util.Iterator;

public class Text2 {
public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add(“Tom”);
list.add(“jim”);
String str = list.remove(0);//删除指定索引(从0开始)位置的元素,并将元素返回,并后面元素前移
System.out.println(list.get(0));
}
}
在这里插入图片描述
7,contains(Obiect o);用来判断集合容器中是否含所有参数元素。
思考:判断过程是什么?
在点击contains后查看
package com.jd.tt;

import java.util.ArrayList;
import java.util.Iterator;

public class Text2 {
public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add(“Tom”);
list.add(“jim”);
boolean flag = list.contains(“Jim”);
System.out.println(flag);
}
}

public boolean contains(Object o) {
return indexOf(o) >= 0;
}

**public int indexOf(Object o) {**
    return indexOfRange(o, 0, size);
}

int indexOfRange(Object o, int start, int end) {
    Object[] es = elementData;
    if (o == null) {
        for (int i = start; i < end; i++) {
            if (es[i] == null) {
                return i;
            }
        }
    } else {
        for (int i = start; i < end; i++) {
            **if (o.equals(es[i])) {**
                return i;
            }
        }
    }
    return -1;
}

执行“String str1="abc"后,JVM在常量池中开辟空间存放一个”abc“的字符串空间让str指向该对象。
在这个上面有Object o=“Tom”;Object o=new String (”Tom“);为上转型类型,父类的引用指向子类所创建的对象,其中o为Object类型的引用变量,指向String类型所创建的对象,如o.equals(es[i])中o.equals()表面上是调用Object()类型中的方法,实则是调用上转型的对象String中重写的equals()方法,也就是多态。
在这里插入图片描述

在这里插入图片描述
8,Iterator iterator = list.iterator();//将List集合中元素转到iterator变量中就可遍历。
package com.jd.tt;

import java.util.ArrayList;
import java.util.Iterator;

public class Text2 {
public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add(“Tom”);
list.add(“jim”);
Iterator iterator = list.iterator();//将List集合中元素转到iterator变量中
while(iterator.hasNext()) {//判断当前“指针”下面是否还有元素
System.out.println(iterator.next());//如果指针下面有元素,则移动指针并获取相应位置的元素
}

}

}
在这里就是在这里面在Lterator中用hasNext()是为了判断在Lterator是否有元素存在,有就由next()读取信息读取一个,在hasNext就会在判断在读取后的元素中是否还有元素存在,有就由next()指向下一个元素在读取信息,就这样依次进行直到由hasNEext判断没有了就结束进程。
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
常用的Java List集合方法包括以下几种: 1. 将元素插入到集合的首部或尾部:可以使用LinkedList的addFirst()方法将元素插入到集合的首部,使用addLast()方法将元素插入到集合的尾部。注意,如果使用的是List接口的引用,需要进行类型转换为LinkedList才能使用LinkedList特有的方法。\[1\] 2. 通过索引访问列表元素:List接口提供了四种位置(索引)访问列表元素的方法。索引从0开始,即第一个元素的索引为0。这些方法包括get()、set()、add()和remove()。需要注意的是,具体实现类(如LinkedList)的索引值可能会有所不同,所以在不清楚具体实现的情况下,最好通过迭代列表中的元素来访问。\[2\] 3. 添加元素到ArrayListArrayList是List接口的一个常用实现类,它采用了数组的存储方式,分配连续的内存空间。可以使用ArrayList的add()方法将元素添加到集合中。ArrayList可以添加任何类型的对象,不同类的实例对象都可以添加进去,但是添加的数据都会被转换成Object类型。\[3\] 这些是Java List集合的一些常用方法,可以根据具体的需求选择适合的方法来操作集合中的元素。 #### 引用[.reference_title] - *1* *3* [JAVA集合——(List类中常用方法总结)](https://blog.csdn.net/gitets/article/details/109702884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [java_List(集合)_常见方法操作(实例)](https://blog.csdn.net/Lee0620/article/details/120776429)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值