ArrayList:数组队列,就是动态数组,可以动态的增加和减少元素、实现了ICollection和IList接口、灵活的设置数组的大小
具体的用法:
1、创建:ArrayList list = new ArrayList();
2、添加元素:list.add("1");或list.add(0, "5");//将元素添加到第一个位置
3、获取元素:list.get(0)通过下标索引
4、删除元素:list.remove("3");
5、获取大小:list.size()
6、判断是否包含某一元素:list.contains(3)
7、设置元素:list.set(下标, 值);
8、清空数组:list.clear()
9、判断数据是否为空:list.isEmpty()
10、ArrayList遍历方式
1)通过迭代器遍历。即通过Iterator去遍历。
Integer value = null; Iterator iter = list.iterator(); while (iter.hasNext()) { value = (Integer)iter.next(); }
2)随机访问,通过索引值去遍历
Integer value = null; int size = list.size(); for (int i=0; i<size; i++) { value = (Integer)list.get(i); }
3)for循环遍历
Integer value = null; for (Integer integ:list) { value = integ; }
例题:从尾到头打印链表
//利用栈后进先出的特性,反转链表
public
ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
Stack<Integer> s =
new
Stack<Integer>(); //创建一个栈
ArrayList<Integer> a =
new
ArrayList<Integer>(); //创建队列
while
(listNode !=
null
){
s.push(listNode.val);
listNode = listNode.next;
}
while
(!s.empty()){
a.add(s.pop());
}
return
a;
}