ArrayList集合的介绍与应用

import java.util.ArrayList;

public class TextArraryList {
public static void main(String[] args) {
ArrayList <String> list1 =new ArrayList<>();

System.out.println(list1);//[ ]

list1.add("张三");
list1.add("李四");
list1.add("王五");
System.out.println(list1);//[张三, 李四, 王五]

String str1 = list1.get(0);
System.out.println(str1);//张三

String str2 = list1.remove(1);
System.out.println("删除的字符串是: " + str2);
System.out.println(list1);//[张三, 王五]

//ArrayList集合遍历
for (int i = 0; i < list1.size(); i++) {
System.out.println(list1.get(i));
}

ArrayList<Integer> list2 = new ArrayList<>();
list2.add(100);
list2.add(200);
list2.add(300);

//遍历集合
for (int i = 0; i <list2.size(); i++) {
System.out.println(list2.get(i));
    }
  }
}

ArrayList集合的具体写法是ArrayList<E>,E代表泛型,可以是任意一种引用类型,不能是基本类型; 
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
如果内容为空,得到的就是空的中括号;[ ]

ArrayList集合的常用方法有:
public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致,返回值代表添加是否成功
注:对于ArrayList集合来说,add添加是一定成功的,所以返回值可用可不用,对于有些集合来说就不一定了。

public E get(int index):从集合当中获取元素,index是索引编号,返回的就是对应位置的元素。

public E remove(int index):从集合当中删除元素,index就是索引编号,返回的就是被删除的元素。

public int size():获取集合的尺寸长度,返回的是集合中元素的个数。

如果要使用基本类型,则需要用到包装类:
基本类型   包装类(引用类型,包装类都位于java.lang包下)
byte     Byte
short      Short
int     Integer
long     Long
float     Float
double      Double
char    Character
boolean    Boolean
其中int和char的需要特别记忆一下。

Java 1.5之后可以自动拆箱装箱,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行。
自动装箱:基本类型->包装类
自动拆箱:包装类->基本类型

以下是ArrayList集合的简单应用

import java.util.ArrayList;
import java.util.Random;
//生成6个1~100之间的随机整数,添加到集合,并遍历输出。
public class text1 {
public static void main(String[] args) {
ArrayList<Integer> list =new ArrayList<>();
Random r =new Random();

for (int i = 0; i < 6; i++) {
int num = r.nextInt(100)+1;
list.add(num);
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
    }
  }
}

//实体对象作为ArrayList集合的类型

import java.util.ArrayList;

public class text2 {
public static void main(String[] args) {
ArrayList<Student> stu =new ArrayList<>();
stu.add(new Student("张三",18,'男'));
stu.add(new Student("李四",20,'男'));
stu.add(new Student("王华",19,'女'));

//集合遍历
for (int i = 0; i < stu.size(); i++) {
Student stu1 = stu.get(i);
System.out.println("我叫: "+stu1.getName()+" 年龄: "+stu1.getAge()+" 性别: "+stu1.getSex());
    }
  }
}
class Student {
private String name;
private int age;
private char sex;

public Student() {
}

public Student(String name, int age, char sex) {
this.name = name;
this.age = age;
this.sex = sex;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public char getSex() {
return sex;
}

public void setSex(char sex) {
this.sex = sex;
  }
}

import java.util.ArrayList;

//定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}括起来集合,使用@分隔每一个元素
//格式参照 {元素@元素@元素}
public class text3 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("刘六");
System.out.println(list);//[张三, 李四, 王五, 刘六]

printArraryList(list);
}

public static void printArraryList(ArrayList<String> list) {//{张三@李四@王五@刘六}
System.out.print('{');
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i));
if(i == list.size()-1) {
System.out.println('}');
} else {
System.out.print('@');
      }
    }
  }
}

import java.util.ArrayList;
import java.util.Random;

//将大集合bigList中的偶数放到小集合smallList中,并遍历。
public class text4 {
public static void main(String[] args) {
ArrayList<Integer> bigList = new ArrayList<>();
Random r = new Random();
for (int i = 0; i < 20; i++) {
int num = r.nextInt(100)+1;//1~100
bigList.add(num);
}

ArrayList<Integer> smallList = getSmallList(bigList);
System.out.println("有多少个偶数: " + smallList.size());
for (int i = 0; i < smallList.size(); i++) {
System.out.println(smallList.get(i));
  }
}
public static ArrayList<Integer> getSmallList(ArrayList<Integer> bigList) {
ArrayList<Integer> smalList = new ArrayList<>();
for (int i = 0; i < bigList.size(); i++) {
int num = bigList.get(i);
if(num % 2 ==0) {
smalList.add(num);
  }
}
return smalList;
  }
}

转载于:https://www.cnblogs.com/LK-SQ/p/11335391.html

集合框架之ArrayList集合相关推荐

  1. java集合的添加方法_深入理解java集合框架之---------Arraylist集合 -----添加方法

    Arraylist集合 -----添加方法 1.add(E e) 向集合中添加元素 /** * 检查数组容量是否够用 * @param minCapacity */ public void ensur ...

  2. 深入理解java集合框架之---------Arraylist集合 -----添加方法

    Arraylist集合 -----添加方法 1.add(E e) 向集合中添加元素 /*** 检查数组容量是否够用* @param minCapacity*/public void ensureCap ...

  3. java arraylist 构造_深入理解java集合框架之---------Arraylist集合 -----构造函数

    ArrayList有三个构造方法 ArrayList有三个常量 1.private transient Object[] elementData (数组); 2.private int size (元 ...

  4. 集合框架(去除ArrayList集合中的重复字符串元素案例2)

    package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; /* * 需求:ArrayList去除集合中字 ...

  5. 14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)

    本篇主要是集合框架基础和List集合,Map集合等等后续更 集合 14.1 集合框架 14.1.1 概念 14.1.2 集合架构 14.2 Collection接口 14.2.1 常用方法 14.3 ...

  6. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

  7. java集合课程,I学霸官方免费课程三十三:Java集合框架之Map集合

    I学霸官方免费教程三十三:Java集合框架之Map集合 Map接口 Map集合采用键值对(key-value)的方式存储数据,其中键不可以重复.值可以重复. 常用类有HashMap.TreeMap和P ...

  8. Java 集合框架分析:JAVA集合中的一些边边角角的知识

    相关文章: Java 集合框架分析:Set http://blog.csdn.net/youyou1543724847/article/details/52733723 Java 集合框架分析:Lin ...

  9. 【Java集合框架】ArrayList类方法简明解析(举例说明)

    本文目录 1.API与Java集合框架 2.ArrayList类方法解析 2.1 add() 2.2 addAll() 2.3 clear() 2.4 clone() 2.5 contains() 2 ...

最新文章

  1. 阿里巴巴开源:一次采集轻松解决多摄像机和3D激光雷达标定
  2. 常州IBMV3700数据恢复成功
  3. 版本控制8(译文) -(完)
  4. php 循环写入 缓冲,php利用缓冲实现动态输出(flush,ob_flush)
  5. master-worker常驻型程序代码修改哪些需要重启master或者worker
  6. 每日一题(27)—— define定义一个宏表明1年中有多少秒
  7. 马云发情人节寄语:AI和算法是算不清楚婚姻的
  8. php ldap 模块,不重新编译为PHP增加LDAP模块的支持
  9. 数组的内存理解(图示)
  10. html table datasrc,table_data_tables.html
  11. 1.深入理解计算机系统---计算机系统漫游
  12. 边缘检测之非极大值抑制原理
  13. 基于Zpl实现斑马打印机打印条码
  14. 【竖心旁】我曾在森林里遇见过一只夜莺
  15. 趣味实验python,Python小实验:疯狂填词
  16. iOS10.3正式版发布:iOS10.3新功能有哪些? 韩俊强的博客
  17. 一文看懂开源许可证丨开源知识科普
  18. 机器学习之朴素贝叶斯(一):朴素贝叶斯的介绍、概率基础(拉普拉斯平滑)、sklearn朴素贝叶斯实现API、朴素贝叶斯分类的优缺点、文本的特征工程
  19. 特别好用的录音转文字工具
  20. 车展背后|车规级芯片知多少?

热门文章

  1. pycharm 安装PYQ5以及no Qt platform plugin could be initialized的问题
  2. linux进程优雅退出,Golang信号处理及如何实现进程的优雅退出详解
  3. 修改样式_Word小技巧:如何设置样式 快速修改文本格式
  4. c mysql导入数据_MySQL 数据导入
  5. mysql deadlock 记录_MySQL DeadLock故障排查全过程记录
  6. AlexNet卷积神经网络
  7. 河北农业大学计算机科学分数线,河北农业大学现代科技学院计算机科学与技术专业2016年在河北理科高考录取最低分数线...
  8. 服务器android打包,Android rom解包打包工具
  9. 高斯列元素消去法c语言,【大神在哪里】高斯-列主元消去法
  10. python123下载失败_安装python3.5时出现严重错误无法完成安装,请问这个是什么情况?怎么解决??...