ArrayList 集合的几种遍历的方法

ArrayList 集合  也可称作动态数组(长度可变),在新建的时候是没有默认长度的,在新增数据长度小于10的时候,ArrayList 的长度会自动设置为10

//了解更多可以按住Ctrl 再点击你需要查看的方法或者类名,  查看List源代码,ArrayList源代码

public static void main(String[] args) throws Exception {
  Arraylist    新增数据时长度是10   当长度为10的时候 增长是如何增长的?
  增长因子数位0.5倍,向下取整数。
  ArrayList arr= new ArrayList();
  arr.add("a");//给集合赋值
  arr.add("b");
  arr.add("c");
  arr.add("d");
  arr.add("e");
  System.out.println(arr.size());    //ArrayList 集合可以有重复对象
  System.out.println("-------下标输出方式");
  //下标输出方式
  for(int i=0;i<arr.size();i++) {
   System.out.println(arr.get(i));
  }
  System.out.println("-------foreach输出(jdk>1.5)");
  //foreach输出(jdk>=1.5)
  for(Object o:arr) {
   System.out.println(o);
  }
  System.out.println("-------jdk1.8的语法糖");
  //jdk1.8语法糖
  arr.forEach(x->System.out.println(x));
  System.out.println("-------jdk1.8的迭代器");
  //迭代器
  Iterator it=arr.iterator();
  while(it.hasNext()) {
   System.out.println(it.next());
  }
  
  ArrayList arr= new ArrayList();
  for(int i=0;i<20;i++) {
   print(arr);
   arr.add(i);
  }

//反向输出必须是先正向输出再反向输出。否则只会有正向没有反向输出
  ArrayList arr= new ArrayList(5);
  arr.add("a");
  arr.add("b");
  arr.add("c");
  arr.add("d");
  arr.add("e");
  ListIterator list=arr.listIterator();
  System.out.println("----------------下");
  while(list.hasNext()) {
   System.out.println(list.next());
  }
  System.out.println("----------------上");
  while(list.hasPrevious()) {
   System.out.println(list.previous());
  }
  
  //栈  可以比喻成一个车厢  最大的容量  3M
  //堆  可以比喻成一个火车  将内存中的零散的空间组成的一张链式表格
  //实现自定义的栈  mystack

}

//使用反射查看属性
 static void print(ArrayList   arraylist) throws Exception {
  Class c=arraylist.getClass();
  Field  elementData = c.getDeclaredField("elementData");
  elementData.setAccessible(true);
  Object[] objects=(Object[]) elementData.get(arraylist);
  System.out.println(objects.length);
 }

原文地址:https://www.cnblogs.com/ly-0919/p/10885777.html

时间: 2024-11-13 10:24:43

ArrayList 集合的几种遍历的方法的相关文章

java中ArrayList集合的三种遍历方式

public class ListDemo { public static void main(String[] args) { ArrayList<String> mList = new ArrayList<>(); mList.add("郭靖"); mList.add("黄蓉"); mList.add("洪七公"); mList.add("周伯通"); // 第一种遍历方式:普通for循环 for

List集合中两种遍历方式

遍历List集合中的元素的方法有两种: 第一种:利用迭代器遍历 代码1: // 迭代器 Iterator it=list.iterator(); while(it.hasNext()) { System.out.println(it.next()); } 或者代码2: for(Iterator it=list.iterator();it.hasNext();) { System.out.println(it.next()); }// 与while循环相比优点:对象it在循环结束后,变为垃圾,自动

Map集合的两种遍历方式

Map集合:即 接口Map<K,V> map集合的两种取出方式:    1.Set<k> keyset: 将map中所有的键存入到set集合(即将所有的key值存入到set中), 因为Set具备迭代器,可以进行迭代遍历. 所有可以迭代方式取出所有的链,再根据get方法.获取每一个键对应的值. Map 集合的取出原理: 将map集合转成set集合. 再通过迭代器取出    2. set<Map.Entry<k,v>>  entrySet: 将map集合中的映射

Map集合的几种遍历方式

Map<String ,String> map=new HashMap<String,String>(); map.put("1","value1"); map.put("2","value2"); map.put("3","value3"); //第一种遍历方式: for(String key:map.keySet()){ String key=key; Str

Map集合的四种遍历方式

很久以前写的代码,和上一个做比较吧!便于以后查看 1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 5 public class TestMap { 6 public static void main(String[] args) { 7 Map<Integer, String> map = new HashMap<Integer, String>(); 8 map.

List 三种遍历的方法

学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码如下: package com.hisense.tiger.list; import java.util.ArrayList;import java.util.Iterator;import java.util.List; public class ListTest { public static void main(St

Map集合的四种遍历方式,自己记录,方便以后查询参考!

1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 5 public class TestMap { 6 public static void main(String[] args) { 7 Map<Integer, String> map = new HashMap<Integer, String>(); 8 map.put(1, "a"); 9

集合的两种遍历方式

① import java.util.ArrayList;import java.util.List; /* * List集合的特有遍历功能: *   size()和get()方法结合使用 */public class ListDemo2 { public static void main(String[] args) {  // 创建集合对象  List list = new ArrayList(); // 添加元素  list.add("hello");  list.add(&qu

Java数组、集合的三种遍历方式(包懂)

1 for循环 for(int i = 0;i<arr.length;i++){ System.out.print(arr[i]+" "); } 2 foreach循环,这种方式结构简单,可以简化代码 for(int i:arr){ System.out.print(arr[i]+" "); } 3 迭代器遍历 对于数组而言,就没必要转换为集合类的数据类型,代码反而冗杂.前面两种对于数组集合均适用 迭代器对List的遍历 List list = new Arr