精华内容
下载资源
问答
  • ArrayList 实现java.io.Serializable接口,这意味着ArrayList支持序列化,能通过序列化去传输。ArrayList 去重利用HashSet里面的元素不可重复利用list里面contains方法比较是否存在去重第一种方法Ar...

    ArrayList是实现List接口的,底层采用数组实现。

    ArrayList 实现了Cloneable接口,即覆盖了函数clone(),能被克隆。

    ArrayList 实现java.io.Serializable接口,这意味着ArrayList支持序列化,能通过序列化去传输。

    ArrayList 去重

    利用HashSet里面的元素不可重复

    利用list里面contains方法比较是否存在去重

    第一种方法

    ArrayList arrayList = new ArrayList<>();

    arrayList.add(1);

    arrayList.add(2);

    arrayList.add(1);

    arrayList.add(3);

    arrayList.add(2);

    arrayList.add(3);

    arrayList= new ArrayList<>(new HashSet<>(arrayList));for (int i=0;i

    printlns("arrayList ["+ i +"] = "+arrayList.get(i));

    }

    运行结果

    arrayList [0] = 1arrayList [1] = 2arrayList [2] = 3

    第二种方法//list:集合,name:元素

    ArrayUtils.contains(list, name)

    ArrayList的API

    //Collection中定义的API

    booleanadd(E object)boolean addAll(Collection extends E>collection)voidclear()booleancontains(Object object)boolean containsAll(Collection>collection)booleanequals(Object object)inthashCode()booleanisEmpty()

    Iteratoriterator()booleanremove(Object object)boolean removeAll(Collection>collection)boolean retainAll(Collection>collection)intsize()T[] toArray(T[] array)

    Object[] toArray()//AbstractCollection中定义的API

    void add(intlocation, E object)boolean addAll(int location, Collection extends E>collection)

    E get(intlocation)intindexOf(Object object)intlastIndexOf(Object object)

    ListIterator listIterator(intlocation)

    ListIteratorlistIterator()

    E remove(intlocation)

    E set(intlocation, E object)

    List subList(int start, intend)//ArrayList新增的API

    Object clone()void ensureCapacity(intminimumCapacity)voidtrimToSize()void removeRange(int fromIndex, int toIndex)

    JDK6

    2e49e95f2ad5afd89a883c2b63901aef.png

    6209ea43dd57aa6f4271a7b4d89c2c99.png

    1、构造函数

    ArrayList提供了三个构造函数:

    ArrayList():默认构造函数,提供初始容量为10的空列表。

    ArrayList(int initialCapacity):构造一个具有指定初始容量的空列表。

    ArrayList(Collection extends E> c):构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。

    2 、新增

    ArrayList提供了add(E e)、add(int index, E element)、addAll(Collection extends E> c)、addAll(int index, Collection extends E> c)、set(int index, E element)这个五个方法来实现ArrayList增加。

    add(E e):将指定的元素添加到此列表的尾部。

    add(int index, E element):将指定的元素插入此列表中的指定位置。

    addAll(Collection extends E> c):按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。

    addAll(int index, Collection extends E> c):从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。

    set(int index, E element):用指定的元素替代此列表中指定位置上的元素。

    3、删除

    ArrayList提供了remove(int index)、remove(Object o)、removeRange(int fromIndex, int toIndex)、removeAll()四个方法进行元素的删除。

    remove(int index):移除此列表中指定位置上的元素。

    remove(Object o):移除此列表中首次出现的指定元素(如果存在)。

    removeRange(int fromIndex, int toIndex):移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。

    removeAll():是继承自AbstractCollection的方法,ArrayList本身并没有提供实现。

    Iterator iter = list.iterator();

    while (iter.hasNext()) {

    String item = iter.next();

    if (item.equals("aa")) {

    iter.remove();

    }

    }

    3、修改

    set(int index, E element) :set(1, "b") 设置第2个元素为b。

    4、查找

    查找元素有Contains()、IndexOf()、LastIndexOf()3中方法

    al.Contains(object obj);//查找数组中是否有obj元素,存在返回true;

    IndexOf()有两个重载方法 起用法如下:

    1)、al.IndexOf(object obj);//从0开始查找obj元素,只第一个obj元素,并返回起在数组中的位置,如果不存在,返回-1;

    2)、al.IndexOf(object obj,int startIndex); //从startIndex开始查找obj元素,只第一个obj元素,并返回起在数组中的位置,

    3)、al.IndexOf(object obj,int startIndex,int count); 从startIndex开始想后查找count个元素,如果存在obj元素,则返回其在数组中的位置

    al.LastIndexOf()方法与IndexOf()用法相同,它也有两个重载,其不同的是,LastIndexOf(obj)是查找要obj最后出现的位置

    ArrayList提供了get(int index)用读取ArrayList中的元素。由于ArrayList是动态数组,所以我们完全可以根据下标来获取ArrayList中的元素,而且速度还比较快,故ArrayList长于随机访问。

    contains(Object o):此集合中是否包含某一个元素。

    ArrayList支持3种遍历方式

    (01) 第一种,通过迭代器遍历。即通过Iterator去遍历。

    Integer value = null;

    Iterator iter=list.iterator();while(iter.hasNext()) {

    value=(Integer)iter.next();

    }

    (02) 第二种,随机访问,通过索引值去遍历。

    由于ArrayList实现了RandomAccess接口,它支持通过索引值去随机访问元素。

    Integer value = null;int size =list.size();for (int i=0; i

    value=(Integer)list.get(i);

    }

    (03) 第三种,for循环遍历。如下:

    Integer value = null;for(Integer integ:list) {

    value=integ;

    }

    遍历ArrayList时,使用随机访问(即,通过索引序号访问)效率最高,而使用迭代器的效率最低!

    // 将ArrayList转换为数组

    String[] arr = (String[])list.toArray(new String[0]);

    for (String str:arr)

    System.out.println("str: "+ str);

    // 清空ArrayList

    list.clear();

    // 判断ArrayList是否为空

    System.out.println("ArrayList is empty: "+ list.isEmpty());

    /**

    * 无序集合转换为有序列表

    *

    * @param set

    * @return

    */

    public static List setSortToList(Set set) {

    List setList = new ArrayList(set);

    Collections.sort(setList, new Comparator() {

    @Override

    public int compare(String o1, String o2) {

    return o1.compareTo(o2);

    }

    });

    return setList;

    }

    展开全文
  • 写了一个java数组排序示例,这里分享给大家共同...import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test {public static void main(S...

    写了一个java数组排序示例,这里分享给大家共同学习

    package com.yonyou.test;

    import java.util.ArrayList;

    import java.util.Collections;

    import java.util.Comparator;

    import java.util.List;

    public class Test {

    public static void main(String[] args) {

    Student zlj = new Student("丁晓宇", 21);

    Student dxy = new Student("赵四", 22);

    Student cjc = new Student("张三", 11);

    Student lgc = new Student("刘武", 19);

    List studentList = new ArrayList();

    studentList.add(zlj);

    studentList.add(dxy);

    studentList.add(cjc);

    studentList.add(lgc);

    System.out.println("按照年齡排序:");

    Collections.sort(studentList, new SortByAge());

    for (Student student : studentList) {

    System.out.println(student.getName() + " / " + student.getAge());

    }

    System.out.println(" ========= ");

    System.out.println("按照姓名排序");

    Collections.sort(studentList, new SortByName());

    for (Student student : studentList) {

    System.out.println(student.getName() + " / " + student.getAge());

    }

    }

    }

    class SortByAge implements Comparator {

    public int compare(Object o1, Object o2) {

    Student s1 = (Student) o1;

    Student s2 = (Student) o2;

    if (s1.getAge() > s2.getAge())

    return 1;

    else if (s1.getAge() == s2.getAge()) {

    return 0;

    }

    return -1;

    }

    }

    class SortByName implements Comparator {

    public int compare(Object o1, Object o2) {

    Student s1 = (Student) o1;

    Student s2 = (Student) o2;

    if(s1.getName().compareTo(s2.getName()) < 0)

    return -1;

    else if (s1.getName().compareTo(s2.getName()) > 0) {

    return 1;

    }

    return 0;

    }

    }

    class Student{

    private int age;

    private String name;

    public int getAge() {

    return age;

    }

    public void setAge(int age) {

    this.age = age;

    }

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    public Student(String name,int age) {

    this.age = age;

    this.name = name;

    }

    }

    展开全文
  • javaArrayList用法

    2013-05-02 11:50:34
    javaArrayList用法
  • 展开全部-----------构造方法摘要ArrayList()构造一个初始容量为 10 的空列表。ArrayList(Collection extends E> c)构造一个包含指32313133353236313431303231363533e58685e5aeb931333337396164定 collection 的...

    展开全部

    -----------构造方法摘要

    ArrayList()

    构造一个初始容量为 10 的空列表。

    ArrayList(Collection extends E> c)

    构造一个包含指32313133353236313431303231363533e58685e5aeb931333337396164定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。

    ArrayList(int initialCapacity)

    构造一个具有指定初始容量的空列表。

    -----------set()不是构造方法

    set(int index, E element)

    用指定的元素替代此列表中指定位置上的元素。

    --顺便问下如果第二个删了,第三个会不会代替第二个的位置,arraylist的长度会不会减少?

    -----------会的

    removeRange(int fromIndex, int toIndex)

    移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。

    示例代码如下:import java.util.ArrayList;

    public class Temp {

    public static void main(String[] args){

    ArrayList al = new ArrayList(11);

    for(int i=0;i<10;i++){

    al.add("string"+(i+1));

    }

    printList(al);

    System.out.println("//insert one element");

    //1为你指定的位置

    al.add(1,"stringinsert");

    printList(al);

    System.out.println("//remove one element");

    al.remove(1);

    printList(al);

    }

    public static void printList(ArrayList al){//输出ArrayList的方法

    System.out.print("current list:|");

    for(int i=0;i

    System.out.print(al.get(i)+" ");

    }

    System.out.println("|");

    }

    }

    展开全文
  • JavaArrayList用法

    2020-03-13 20:08:00
    JavaArrayList用法 CircleYua 2020-03-13 20:08 31 人阅读 0 条评论 ArrayList类是一个特殊的数组--动态数组。来自于System....
    转载文章

    Java中ArrayList的用法

     CircleYua   2020-03-13 20:08   31 人阅读  0 条评论

    ArrayList类是一个特殊的数组--动态数组。来自于System.Collections命名空间;通过添加和删除元素,就可以动态改变数组的长度。

    优点:

    1、支持自动改变大小

    2、可以灵活的插入元素

    3、可以灵活的删除元素

    局限:

    比一般的数组的速度慢一些;

    用法

    一、初始化:

    1、不初始化容量

    ArrayList arr1 = new ArrayList(); //不初始化刚开始的数组容量,当数组容量满时数组会自动一当前数组容量的2倍扩容

    2、初始化容量

    ArrayList arr2 = new ArrayList(3);//初始容量为3

    3、用一个集合或数组初始化 

    ArrayList arr3 = new ArrayList(a);        //a为集合或数组

     

    二、添加元素

    方法:1)add(object value) ;将指定元素object value追加到集合的末尾

    ArrayList arr = new ArrayList(); //初始化数组,下面各种方法省略初始化    

    arr.add("a");    //往数组里添加元素

    2) add(int index,  Object obj);

    功能:在集合中指定index位置,添加新元素obj

    功能说明:假设集合list中有元素[“java”,“javaEE”],当使用add(1,“javaWeb”)后,集合list中的元素为[“java”,“javaWeb”,“JavaEE”]。

    同样可以用Insert(int index,object value)将元素插入到索引处,不过其有一定的限制性,必须在数组长度以内插入数组;

                       InsertRange(int index,ICollection c)方法一样;

     

    三、删除元素

    方法:remove();

    功能:从集合中删除指定位置处的元素,返回该元素

    功能说明:假设集合list中有元素[“java”,“javaEE”],当使用remove(0)后,集合list中的元素为[“JavaEE”],返回值为“java”。

    arr.remove("a");    //在数组里删除元素(根据对象删除)

    arr.remove(0);    //根据下标删除ArrayList的元素

     

    四、获取数组

    方法:size() ;

    功能:用于获取ArrayList的大小,返回集合中的元素个数。

    arr.size();    //获取arr数组的大小

     

    五、替换元素

    方法:set() ;

    功能:用指定元素obj替代集合中指定index位置的元素

    功能说明:假设集合list中有元素[“java”,“javaEE”],当使用set(0,“javaWeb”)后,集合list中的元素为[“javaWeb”,“JavaEE”]。

    arr.set(1, "10");          // 设置第2个元素为10

     

    六、清空集合内的所有元素

    方法:clear() ;

    功能:清空集合中所有元素

    功能说明:假设集合list中有元素[“java”,“javaEE”],当使用clear()后,集合list中的元素为空[]。

    arr.clear();     //清空arr里的所有元素

     七、查找元素

    方法:get(int index);  //index -- 该元素返回的索引值

    功能:返回集合中指定位置上的元素

    import java.util.ArrayList;

    public class ArrayListDemo01 {

        public static void main(String[] args) {

            // 创建ArrayList集合

            ArrayList<String> list = new ArrayList<String>();

            // 向集合中添加元素

            list.add("stu1");

            list.add("stu2");

            list.add("stu3");

            list.add("stu4");

            // 获取集合中元素的个数

            System.out.println("集合的长度:" + list.size());

            // 取出并打印指定位置的元素

            System.out.println("第1个元素是:" + list.get(0));

            System.out.println("第2个元素是:" + list.get(1));

            System.out.println("第3个元素是:" + list.get(2));

            System.out.println("第4个元素是:" + list.get(3));

        }

    }

    本文地址:https://www.lanol.cn/post/38.html
    温馨提示:文章内容系作者个人观点,不代表Lan's Blog对观点赞同或支持。
    版权声明:本文为转载文章,来源于 CircleYua ,版权归原作者所有,欢迎分享本文,转载请保留出处!
    赞赏打赏二维码

    文章导航

    展开全文
  • java ArrayList用法

    2019-06-16 10:31:08
    ArrayList是一个动态变化的数组,既有数组的特性,也有链表的特性。...用法: 1、构造方法 ArrayList<type> list=new ArrayList<>(); //type可以是String,Integer and so on 2、在末尾添加元素...
  • 本文通过实例讲解Java中如何使用ArrayList类。Java.util.ArrayList类是一个动态数组类型,也就是说,ArrayList对象既有数组的特征,也有链表的特征。可以随时从链表中添加或删除一个元素。ArrayList实现了List接口。...
  • 那是,Array复杂的版本号,它具有以下优点,例如:动态的添加和降低元素实现了ICollection和IList接口灵活的设置数组的大小2、怎样使用ArrayList最简单的样例:ArrayListList=newArrayList();for(inti=0;i<10;i++...
  • Java ArrayList 用法

    2021-03-22 11:25:06
    JavaArrayList 用法 public static void main(String [] arg) { //实例化arrayList ArrayList<String> datArrayList=new ArrayList<String>(); //向ArrayList末尾添加元素 for(int i=0;i<10;i+...
  • 很多刚刚学习java编程的小伙伴对于java当中arraylist的常见用法都不是很熟悉,那么下面就一起通过一个示例来了解一下吧!java当中arraylist的常见用法:importjava.lang.reflect.Array;importjava.util.*;importjava....
  • JavaArrayList基本用法

    2020-10-10 19:18:24
    import java.util.ArrayList; 创建 ArrayList <泛型> list = new ArrayList<>(); 泛型特例: int(Integer) char(Character) 其余泛型均是首字母变大写 例 double(Double) 常用方法 1.添加元素...
  • ArrayList 用法 java

    2011-11-10 21:54:56
    AyyayList 使用方法 java 最简单的例子: ArrayList List = new ArrayList(); for( int i=0;i;i++ ) //给数组增加10个Int元素 List.Add(i); //..程序做一些处理 List.RemoveAt(5);//将第6个元素移除 for( int i=0...
  • 刚刚学了一下javaArrayList的简单用法ArrayList类在Java.util包中。是一个动态数组类型,也就是说,ArrayList对象既有数组的特征,也有链表的特征。可以随时从链表中添加或删除一个元素。ArrayList实现了List...
  • Java ArrayList用法

    2020-08-17 15:51:14
    1 ArrayList介绍 ArrayList简介 ArrayList 是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些...
  • }获取或设置ArrayList可包含的元素数。2.publicvirtualintCount{get;}获取ArrayList中实际包含的元素数。Capacity是ArrayList可以存储的元素数。Count是ArrayList中实际包含的元素数。Capacity总是大于或等于Count...
  • java ArrayList用法

    2018-04-24 15:45:28
    JavaArrayList类详解1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组...
  • JAVAArrayList用法

    2016-11-06 15:47:03
    遍历的四种方法: ...import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ArrayListDemo {  public static void main(String args[]){  List li
  • import java.util.ArrayList; /** * 测试ArrayList用法<>,中填入是泛型参数,要装入的数据的类型 * ArrayList是一种集合数据类型,它可以装任意多个具体的数据,而且长度可以变 * 重要功能 add() 添加...
  • java中的ArrayList用法

    2019-02-26 18:07:21
    本文通过实例讲解Java中如何使用ArrayList类。 Java.util.ArrayList类是一个动态数组类型,也就是说,ArrayList对象既有数组的特征,也有链表的特征。可以随时从链表中添加或删除一个元素。ArrayList实现了List接口...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,314
精华内容 925
关键字:

arraylistjava用法

java 订阅