ArrayList对象可以用于储存一个对象列表.
ArrayList中的一些方法:

ArrayList <String> list = new ArrayList(); 或 ArrayList <String> list = new ArrayList<String>();创建一个空的集合
list.add(o:E)            添加一个新元素o到列表末尾
list.add(index:int,o:E)  添加一个新元素到指定下标处
list.clear()             清除列表中的所有元素
list.contains(o:Object)  如果该列表包含元素o,则返回true
list.get(index:int)      返回指定下标的元素
list.indexOf(o:Object)   返回列表中第一个匹配元素的下标
list.isEmpty()           如果列表不包含任何元素则返回true
list.lastIndexOf()       返回列表匹配的最后一个元素的下标
list.remove(index:int)   去除列表中指定下标的元素
list.size()              返回列表的元素个数
list.set(index:int,o:E)  设置指定下标位置的元素

下面是简单的实例代码:

public class Helloworld{
    public static void main (String [] args)
    {
        ArrayList<Double> list = new ArrayList();
        list.add(1.0);
        list.add(0, 2.0);
        list.set(0, 3.0);
        System.out.println(list.get(0));
        for (Double double1 : list) {
            System.out.println(double1+" ");
        }
    }
}

输出:

3.0
3.0 
1.0 

另,ArrayList是可以用foreach()循环遍历数组的:

for(elementTypecelement : arraylist)
{   
       //Process the element
}

详细见实例代码第9-11行!

对于列表有用的方法
我们经常从一个对象数组中创建一个数组列表,或者相反.可以使用循环来实现,但是更容易的方法是Java API中的方法.下面是从数组中创建一个数组列表的例子:

String array = {"red","green","blue"};
ArrayList<String> list = new ArrayList<>(Arrays.asList(array));

Arrays类中的静态方法asList返回一个列表,该列表传递给ArrayList的构造方法用于创建一个ArrayList。反过来,从一个数组列表创建一个对象数组:

String [] array1 = new String[list.size()];
list.toArray(array1);

调用list.toArray(array1)将list中的内容复制到array1中.
如果列表是可比较的,可以使用java.util.Collections类中的静态的sort、max、min、shuffle方法分别对元素进行排序、返回最大值和最小值、打乱.
下面看代码实例:

public class Helloworld{
    public static void main (String [] args)
    {
        //数组中创建数组列表
        String [] array = {"red","green","blue"};
        ArrayList<String> list = new ArrayList<>(Arrays.asList(array));
        for (String double1 : list) {
            System.out.println(double1+" ");
        }
        System.out.println("-----------------------------------------------------------------------");
        //数组列表中创建对象数组
        String [] array1 = new String[list.size()];
        list.toArray(array1);
        for (String string : array1) {
            System.out.println(string+" ");
        }
        System.out.println("-----------------------------------------------------------------------");
        //sort排序
        Integer [] array2 = {3,5,95,4,15,34,3,6,7};
        ArrayList<Integer> list2 = new ArrayList<Integer>(Arrays.asList(array2));
        java.util.Collections.sort(list2);
        System.out.println(list2);
        System.out.println("-----------------------------------------------------------------------");
        //最大、最小值
        System.out.println("最大值是:"+java.util.Collections.max(list2));
        System.out.println("最小值是:"+java.util.Collections.min(list2));
        System.out.println("-----------------------------------------------------------------------");
        //随机排序
        java.util.Collections.shuffle(list2);
        System.out.println(list2);
    }
}

输出为:

red 
green 
blue 
-----------------------------------------------------------------------
red 
green 
blue 
-----------------------------------------------------------------------
[3, 3, 4, 5, 6, 7, 15, 34, 95]
-----------------------------------------------------------------------
最大值是:95
最小值是:3
-----------------------------------------------------------------------
[4, 95, 5, 7, 3, 15, 3, 34, 6]

对照代码及输出结果进行学习!

Last modification:May 29th, 2020 at 02:06 pm
如果觉得我的文章对你有用,请随意赞赏