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; }