Menu Close

Java对象数组,ArrayList

什么时对象数组?与传统的数组存储字符串,整数,布尔值等值不同,对象数组存储对象。

语法:

Class obj [] = new Class [array_length]

示例:

class ObjectArray {
    public static void main(String args[]) {
        Account obj[] = new Account[2];// 声明一个对象数组,里面有2个对象
        obj[0].setData(1, 2);
        obj[1].setData(3, 4);
        obj[0].showData();
        obj[1].showData();
    }
}
class Account {
    int a;
    int b;
    public void setData(int c, int d) {
        a = c;
        b = d;
    }
    public void showData() {
        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}

 

ArrayList是什么

ArrayList 是 java 集合框架中比较常用的数据结构。继承自 AbstractList,实现了 List 接口。底层基于数组实现容量大小动态变化。允许 null 的存在。同时还实现了 RandomAccess、Cloneable、Serializable 接口。

%title插图%num

语法:

ArrayList<E> objectName =new ArrayList<>();

ArrayList 方法:

方法摘要
 boolean< add(E e)
将指定的元素添加到此列表的尾部。
 void add(int index, E element)
将指定的元素插入此列表中的指定位置。
 boolean addAll(Collection<? extends E> c)
按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。
 boolean addAll(int index, Collection<? extends E> c)
从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。
 void clear()
移除此列表中的所有元素。
 Object clone()
返回此 ArrayList 实例的浅表副本。
 boolean contains(Object o)
如果此列表中包含指定的元素,则返回 true
 void ensureCapacity(int minCapacity)
如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。
 E get(int index)
返回此列表中指定位置上的元素。
 int indexOf(Object o)
返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
 boolean isEmpty()
如果此列表中没有元素,则返回 true
 int lastIndexOf(Object o)
返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。
 E remove(int index)
移除此列表中指定位置上的元素。
 boolean remove(Object o)
移除此列表中首次出现的指定元素(如果存在)。
protected  void removeRange(int fromIndex, int toIndex)
移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。
 E set(int index, E element)
用指定的元素替代此列表中指定位置上的元素。
 int size()
返回此列表中的元素数。
 Object[] toArray()
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。

<T> T[]

toArray(T[] a)
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
 void trimToSize()
将此 ArrayList 实例的容量调整为列表的当前大小。

ArrayList 使用例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.ArrayList;
import java.util.Iterator;

public class ArrayListDemo {

    public static void main(String[] args){
         ArrayList<Integer> arrayList = new ArrayList<Integer>();
         arrayList.add(1);
         arrayList.add(3);
         arrayList.add(5);
         System.out.println("Printing elements of arrayList");
         // for循环遍历
         System.out.print("for循环遍历:");
         for(Integer number : arrayList){
             System.out.print(number + " ");
         }
         // 在指定位置添加元素
         arrayList.add(2,2);
         // 删除指定位置上的元素
         arrayList.remove(2);    
         // 删除指定元素
         arrayList.remove((Object)3);
         // 判断arrayList是否包含5
         System.out.println("ArrayList contains 5 is: " + arrayList.contains(5));
         // 清空ArrayList
         arrayList.clear();
         // 判断ArrayList是否为空
         System.out.println("ArrayList is empty: " + arrayList.isEmpty());
    }
}

 

Posted in Java

发表评论

相关链接