• 因近日遭受攻击,百科现已限制新用户的编辑权限,一段时间后成为自动确认用户方可编辑。

Difference between revisions of "ArrayList Reference"

From Minecraft插件百科
Jump to: navigation, search
(删除数据)
(基本用法)
Line 54: Line 54:
 
TheList1.add("c");  
 
TheList1.add("c");  
 
TheList1.add("d");
 
TheList1.add("d");
 +
// --- 分割线 ---
 
TheList2.add("1");
 
TheList2.add("1");
 
TheList2.add("2");
 
TheList2.add("2");
Line 64: Line 65:
  
 
按照位置删除单个数据
 
按照位置删除单个数据
 +
<source lang="java">
 +
TheList1.add("a"); 
 +
TheList1.add("b");
 +
TheList1.add("c");
 +
TheList1.add("d");
 +
// --- 分割线 ---
 +
TheList1.remove(2);
 +
</source>
 +
结果:  [a, b, d]
 +
注意:数组是从0开始计数的
 +
 +
 +
按照内容删除单个数据
 +
<source lang="java">
 +
TheList1.add("a"); 
 +
TheList1.add("b");
 +
TheList1.add("c");
 +
TheList1.add("d");
 +
TheList1.remove("b");
 +
</source>
 +
结果:  [a, c, d]
 +
 +
 +
按照另一列表同时删除该列表的多个数据
 +
<source lang="java">
 +
TheList1.add("a"); 
 +
TheList1.add("b");
 +
TheList1.add("c");
 +
TheList1.add("d");
 +
TheList1.add("e");
 +
// --- 分割线 ---
 +
TheList2.add("c");
 +
TheList2.add("d");
 +
TheList1.removeAll(TheList2);
 +
</source>
 +
结果:  [a, b, e]
 +
 +
 +
清空列表
 +
<source lang="java">
 +
TheList1.add("a"); 
 +
TheList1.add("b");
 +
TheList1.add("c");
 +
System.out.print("清空前: " + TheList1 + "          ");
 +
TheList1.clear();
 +
System.out.print("清空后: " + TheList1 + "          ");
 +
</source>
 +
结果:
 +
清空前: [a, b, c]
 +
清空后: []
  
 
=== 修改数据 ===
 
=== 修改数据 ===

Revision as of 23:09, 8 November 2015

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] 
清空后: []

修改数据

|

查找数据

|

使用实例