• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

ArrayList Reference

来自Minecraft插件百科
跳转到导航 跳转到搜索

ArrayList简介

ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处。

在插件开发中一般用于物品lore的添加与设置

基本用法

ArrayList<String> TheList1 = new ArrayList<>();
ArrayList<String> TheList2 = new ArrayList<>();

添加数据

添加单个数据

TheList1.add("a");  // String
TheList1.add("b");
TheList1.add("c");
结果:  [a , b , c]


在第N个数据后添加单个数据

TheList1.add("a");  // String
TheList1.add("b");
TheList1.add("c");
TheList1.add(1,"fff");  // int String
TheList1.add(2,"我在fff的后面");
TheList1.add(4,"我在b的后面");
结果:  [a , fff , 我在fff的后面 , b , 我在b的后面 , c]

警告: 如果列表中没有任何数据将会报错(抛出java.lang.IndexOutOfBoundsException异常)


将一个列表中的所有数据添加到另外一个列表中

TheList1.add("a");  
TheList1.add("b"); 
TheList2.add("c"); 
TheList2.add("d"); 
list1.addAll(list2);
结果:  [a , b , c , d]

注意: 这是直接加在列表之后的


将一个列表中的所有数据添加到另外一个列表中的第N个元素之后。

TheList1.add("a");  
TheList1.add("b"); 
TheList1.add("c"); 
TheList1.add("d");
// --- 分割线 ---
TheList2.add("1");
TheList2.add("2");
TheList2.add("3");
list1.addAll(3,list2);
结果:  [a, b, c, 1, 2, 3, d]

删除数据

按照位置删除单个数据

TheList1.add("a");  
TheList1.add("b"); 
TheList1.add("c"); 
TheList1.add("d");
// --- 分割线 ---
TheList1.remove(2);
结果:  [a, b, d]

注意:数组是从0开始计数的


按照内容删除单个数据

TheList1.add("a");  
TheList1.add("b"); 
TheList1.add("c"); 
TheList1.add("d");
TheList1.remove("b");
结果:  [a, c, d]


按照另一列表同时删除该列表的多个数据

TheList1.add("a");  
TheList1.add("b"); 
TheList1.add("c"); 
TheList1.add("d");
TheList1.add("e");
// --- 分割线 ---
TheList2.add("c");
TheList2.add("d");
TheList1.removeAll(TheList2);
结果:  [a, b, e]


清空列表

TheList1.add("a");  
TheList1.add("b"); 
TheList1.add("c"); 
System.out.print("清空前: " + TheList1 );
TheList1.clear();
System.out.print("清空后: " + TheList1 );

结果:

清空前: [a, b, c] 
清空后: []

修改数据

修改指定位置的数据

TheList1.add("a");  
TheList1.add("b"); 
TheList1.add("c"); 
TheList1.add("d");
System.out.print("修改前: " + TheList1 );
TheList1.set(2, "h");
System.out.print("修改后: " + TheList1 );

结果:

修改前: [a, b, c, d]         
修改后: [a, b, h, d] 

查找数据

获取指定位置数据

TheList1.add("a");  
TheList1.add("b"); 
TheList1.add("c"); 
TheList1.add("d");
String out = TheList1.get(2);
System.out.print("输出数据: " + TheList1);

结果:

输出数据: c

注意:数组是从0开始计数的

使用实例