夜斗全栈之Java篇一:Arraylist
Posted 夜斗小神社
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了夜斗全栈之Java篇一:Arraylist相关的知识,希望对你有一定的参考价值。
微微晨光点亮这喧嚣世界
集合类(存储的数据容量可以发生改变,提供一种存储空间可变的存储模型)有很多,今天我们介绍一个:ArrayList
ArrayList
<
E
>
<E>
<E>:(可调整大小的数组实现,后面的E是泛型)
ArrayList < S t r i n g > <String> <String>, ArrayList < S t u d e n t > <Student> <Student>(用数据类型替换E)
一:ArrayList构造方法和添加方法
小夜斗首先新建了一个项目,结构如下所示:
首先我们创建一个集合,代码如下:
ArrayList<String> array = new ArrayList<String>();
package com.yedou_01;
import java.util.ArrayList;
public class ArrayListDe01
public static void main(String[] args)
// public ArrayList(): 创建一个空的集合对象
// jdk7以后的新特性,第一个创建集合的方式(注释的)
// ArrayList<String> array = new ArrayList<>();
ArrayList<String> array = new ArrayList<String>();
// 输出集合
System.out.println("array:" + array);
打印输出集合,内容如下所示:
添加三个元素后的代码如下所示:array.add("夜斗小神社");
package com.yedou_01;
import java.util.ArrayList;
public class ArrayListDe01
public static void main(String[] args)
// public ArrayList(): 创建一个空的集合对象
// ArrayList<String> array = new ArrayList<>();
ArrayList<String> array = new ArrayList<String>();
// public boolean add(E, e): 将指定的元素追加到末尾
// 打印输入是否成功
System.out.println(array.add("hello"));
// 输入hello
array.add("夜斗小神社");
array.add("夜斗全栈之路");
// 输出集合
System.out.println("array:" + array);
结果如下:
在指定位置插入元素:array.add(1,"欢迎来到");
package com.yedou_01;
import java.util.ArrayList;
public class ArrayListDe01
public static void main(String[] args)
// public ArrayList(): 创建一个空的集合对象
// ArrayList<String> array = new ArrayList<>();
ArrayList<String> array = new ArrayList<String>();
// public boolean add(E, e): 将指定的元素追加到末尾
// 打印输入是否成功
System.out.println(array.add("hello"));
// 输入hello
array.add("夜斗小神社");
array.add("夜斗全栈之路");
// 制定位置插入元素
array.add(1,"欢迎来到");
// 输出集合
System.out.println("array:" + array);
不过这个方法有越界问题:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 4, Size: 3
array.add(4,"欢迎来到");
如果按照上面这样写的话,因为只有三个元素,Size小于index,所以有越界的报错!
二:ArrayList集合常用方法
首先我们创建一个集合ArrayList,如下所示:
package com.yedou_01;
import java.util.ArrayList;
public class ArrayListDe02
public static void main(String[] args)
ArrayList<String > array = new ArrayList<String >();
array.add("欢迎来到");
array.add("夜斗全栈");
array.add("之路");
System.out.println("array: " + array);
array: [欢迎来到, 夜斗全栈, 之路]
- 删除元素:
System.out.println(array.remove("欢迎来到"));
- 根据索引 :
System.out.println(array.remove(0));
- 修改元素:
System.out.println(array.set(0,"你好!"));
- 获取元素:
System.out.println(array.get(0));
- 集合个数:
System.out.println(array.size());
整个代码如下所示:
package com.yedou_01;
import java.util.ArrayList;
public class ArrayListDe02
public static void main(String[] args)
ArrayList<String > array = new ArrayList<String >();
array.add("欢迎来到");
array.add("夜斗全栈");
array.add("之路");
// 删除欢迎来到
// 显示是否删除成功
System.out.println(array.remove("欢迎来到"));
// 根据索引删除
System.out.println(array.remove(0));
// 修改元素数值
System.out.println(array.set(0,"你好!"));
// 返回指定索引处元素
System.out.println(array.get(0));
// 返回集合个数
System.out.println(array.size());
// 打印数组
System.out.println("array: " + array);
三:ArrayList存储字符并遍历集合
”我是要成为海贼王的男人!"
我们添加草帽一行人的名字和梦想,并且循环打印出来:
package com.yedou_02;
import java.util.ArrayList;
public class ArrayListTest01
public static void main(String[] args)
// 创建对象
ArrayList<String> array = new ArrayList<String>();
// 添加对象
array.add("路飞: 我是要成为海贼王的男人");
array.add("索隆:我要成为世界第一大剑豪");
array.add("山治:我一定要找到All Blue!");
array.add("罗宾:我一定要找出空白100年历史");
array.add("娜美:我要找到世界上所有的宝藏");
array.add("乔巴:我我我的赏金为什么这么低");
array.add("弗兰奇:我打造的桑尼号最拉风!");
array.add("布鲁克:我身体,不我只是一把老骨头!");
array.add("乌索普:我得了不能够敲代码的病!");
array.add("甚平:我可是要成为海贼王男人的船员!");
// 遍历对象
for(int i=0; i<array.size(); i++)
// 获取元素
String s = array.get(i);
// 打印元素
System.out.println(s);
四:存储草帽海贼王对象并遍历
1:创建草帽类HatPirateGroup
(set,get快捷键(alt + insert))
package com.yedou_02;
/*
草帽类
*/
public class HatPirateGroup
private String name;
private String sentence;
// 无参
public HatPirateGroup()
// 有参
public HatPirateGroup(String name, String sentence)
this.name = name;
this.sentence = sentence;
public String getName()
return name;
public void setName(String name)
this.name = name;
public String getSentence()
return sentence;
public void setSentence(String sentence)
this.sentence = sentence;
2: 创建一个存储草帽海贼成员的集合,并循环打印
package com.yedou_02;
import java.util.ArrayList;
public class ArrayListTest02
public static void main(String[] args)
// 创建集合对象
ArrayList<HatPirateGroup> array = new ArrayList<HatPirateGroup>();
// 创建海贼对象
HatPirateGroup s1 = new HatPirateGroup("路飞:", "我是要成为海贼王的男人");
HatPirateGroup s2 = new HatPirateGroup("索隆:","我要成为世界第一大剑豪");
HatPirateGroup s3 = new HatPirateGroup("山治:","我一定要找到All Blue!");
// 添加海贼到草帽海贼团中
array.add(s1);
array.add(s2);
array.add(s3);
// 遍历集合
for(int i=0; i<array.size(); i++)
HatPirateGroup s = array.get(i);
System.out.println(s.getName()+ s.getSentence());
五:键盘录入草帽海贼王对象并遍历
1:创建草帽类HatPirateGroup
(set,get快捷键(alt + insert))
package com.yedou_02;
/*
草帽类
*/
public class HatPirateGroup
private String name;
private String sentence;
// 无参
public HatPirateGroup()
// 有参
public HatPirateGroup(String name, String sentence)
this.name = name;
this.sentence = sentence;
public String getName()
return name;
public void setName(String name)
this.name = name;
public String getSentence()
return sentence;
public void setSentence(String sentence)
this.sentence = sentence;
2:键盘输入海贼信息,调用方法加入到集合当中
package com.yedou_03;
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayTest
public static void main(String[] args)
// 创建集合对象
ArrayList<HatPirateGroup> array = new ArrayList<HatPirateGroup>();
// 调用方法
addPirate(array);
addPirate(array);
addPirate(array);
// 遍历集合
for(int i=0; i<array.size(); i++)
HatPirateGroup s = array.get(i);
System.out.println(s.getName() + s.getSentence());
public static void addPirate(ArrayList<HatPirateGroup> array)
/*
方法:返回值类型和参数
*/
// 键盘录入数据
Scanner sc = new Scanner(System.in);
System.out.println("输入海贼姓名:");
String name = sc.nextLine();
System.out.println("请输入句子:");
String sentence = sc.nextLine();
// 创建海贼对象
HatPirateGroup s = new HatPirateGroup();
s.setName(name);
s.setSentence(sentence);
// 往集合中添加学生对象
array.add(s);
- 在这个星球上,你很重要,请珍惜你的珍贵! ~~~夜斗小神社
以上是关于夜斗全栈之Java篇一:Arraylist的主要内容,如果未能解决你的问题,请参考以下文章