首页 > 其他分享 >ArrayList深入分析

ArrayList深入分析

时间:2022-10-22 02:22:05浏览次数:48  
标签:ArrayList list System println add 深入分析 arrayList out

基本方法

public class ArrayListTest1 {
	public static void main(String[] args) {
		ArrayList arrayList = new ArrayList();
		arrayList.add("hello");
		arrayList.add("world");
		arrayList.add("world");
		arrayList.add("welcome");

		String s1 = (String) arrayList.get(0);
		String s2 = (String) arrayList.get(1);
		String s3 = (String) arrayList.get(2);
		String s4 = (String) arrayList.get(3);

		System.out.println(s1);
		System.out.println(s2);
		System.out.println(s3);
		System.out.println(s4);

		System.out.println("-------------");
		for (int i = 0; i < arrayList.size(); i++) {
			System.out.println(arrayList.get(i));
		}

		// arrayList.clear();
		// System.out.println(arrayList.size());
		// System.out.println(arrayList.isEmpty());

		arrayList.remove(0);

		System.out.println("-------------");
		for (int i = 0; i < arrayList.size(); i++) {
			System.out.println(arrayList.get(i));
		}

		arrayList.remove("welcome");
		System.out.println("-------------");
		for (int i = 0; i < arrayList.size(); i++) {
			System.out.println(arrayList.get(i));
		}

		System.out.println("-----------------");

		arrayList.add("aaa");
		arrayList.add("bbb");

		System.out.println(arrayList.indexOf("world"));
		System.out.println(arrayList.lastIndexOf("world"));
		System.out.println(arrayList.indexOf("aaa"));
	}
}

结果

hello
world
world
welcome
-------------
hello
world
world
welcome
-------------
world
world
welcome
-------------
world
world
-----------------
0
1
2

包装类与原生数据类型测试

public class ArrayListTest2 {
	public static void main(String[] args) {
		ArrayList list = new ArrayList();
		list.add("hello");
		list.add(new Integer(2));
	
		String str = (String)list.get(0);
		Integer in = (Integer)list.get(1);
		// String str2 = (String)list.get(1);
	
		System.out.println(str);
		System.out.println(in.intValue());
		// System.err.println(str2);
	}

}

结果

hello
2

包装类型的遍历与操作

public class ArrayListTest3 {

	public static void main(String[] args) {
		ArrayList list = new ArrayList();

		list.add(new Integer(3));
		list.add(new Integer(4));
		list.add(new Integer(5));
		list.add(new Integer(6));

		int sum = 0;
		for (int i = 0; i < list.size(); i++) {
			Integer item = (Integer) list.get(i);
			sum += item.intValue();
		}

		System.out.println(sum);
	}
}

结果

18

ArrayList与数组之间的转换

public class ArrayListTest4 {

	public static void main(String[] args) {
		ArrayList list = new ArrayList();

		list.add(new Integer(1));
		list.add(new Integer(2));
		list.add(new Integer(3));
		list.add(new Integer(4));
		list.add(new Integer(5));
		list.add(new Integer(6));

		/**
		 * 不能将Object[]转换为Integer[]
		 */

		// 这个地方会报错,类型转换异常
		// Integer[] in = (Integer[]) list.toArray();
		// for (int i = 0; i < in.length; i++) {
		// Integer integer = in[i];
		// System.out.println(integer.intValue());
		// }

		Object[] in = list.toArray();
		for (int i = 0; i < in.length; i++) {
			Integer integer = (Integer) in[i];
			System.out.println(integer.intValue());
		}
	}

}

结果

1
2
3
4
5
6

ArrayList操作自定义对象

public class ArrayListTest5 {

	public static void main(String[] args) {
		ArrayList list = new ArrayList();
		list.add(new Point(2, 3));
		list.add(new Point(2, 2));
		list.add(list);
		list.add(new Point(4, 4));


		// for (int i = 0; i < list.size(); i++) {
		//	System.out.println((Point) list.get(i));
		// }
	
		System.out.println(list.toString());
	}

}

class Point {
	int x;
	int y;

	public Point(int x, int y) {
		this.x = x;
		this.y = y;
	}

	public String toString() {
		return "x=" + this.x + ",y=" + this.y;
	}

}

结果

[x=2,y=3, x=2,y=2, (this Collection), x=4,y=4]

标签:ArrayList,list,System,println,add,深入分析,arrayList,out
From: https://www.cnblogs.com/tangyouwei/p/arraylist-in-depth-analysis-z18oerm.html

相关文章

  • CopyOnWriteArrayList集合
    CopyOnWriteArrayList是为了增加在写操作的时候的读操作的性能因为并发问题主要是写操作,当一个线程进行写操作时,会使用Reetranlock加锁,然后会复制一份原数组在新数组上进......
  • Java基础(九)| ArrayList详解与应用
    ⭐本专栏旨在对JAVA的基础语法及知识点进行全面且详细的讲解,完成从0到1的java学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握JAVA编程,同时为后续的框架学习,进阶开......
  • 创建一个HashMap集合,它包含三个元素,每一个元素都是ArrayList类型的. 每一个ArrayList
    packagepackage6;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Set;publicclassHashMapIncludeArraylistDemo{publicstaticvo......
  • List集合和ArrayList集合
    List集合介绍List接口继承自Collection接口是单列集合的一个重要分支习惯将实现了list接口的对象称为List集合在List集合中允许出现重复的元素所有元素是以一种线性存......
  • 面试官:ArrayList扩容机制,你了解吗?
    最近耗时5个月整理的10w字Java面试手册,涵盖了Java面试几乎都会问的面试题目,直达链接​​10w字Java面试手册​​小熊学Java在线地址:https://javaxiaobear.gitee.io/1、底层......
  • java 数据结构 ArrayList
    importjava.util.ArrayList;importjava.util.Collections;/***java数据结构ArrayList*importjava.util.ArrayList;//引入ArrayList类*ArrayList<E>objectNa......
  • Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
    概要上一章,我们学习了Collection的架构。这一章开始,我们对Collection的具体实现类进行讲解;首先,讲解List,而List中ArrayList又最为常用。因此,本章我们讲解ArrayList。先对Arra......
  • ArrayListAndLinkedList
    集合一:集合框架对象的容器,实现了对象常用的操作,类似数组功能。二:集合和数组的区别数组长度固定,集合长度不固定数组可以存储基本类型和引用类型,集合只能存储引用类......
  • ArrayList源码学习
    arraylist1、总体关系图  1.1:Serializable接口这是一个空接口,只有实现了这个接口的对象才可以进行序列化。然后这个序列化id是为了保证反序列化成功也就是在运......
  • 【Java基础】Collections集合概述和使用、ArrayList集合存储学生并排序及斗地主案例
    目录​​一、Collections概述和使用​​​​二、ArrayList集合存储学生并排序​​​​三、斗地主案例​​一、Collections概述和使用Collection类的作用:是针对集合操作的工......