Java中的ArrayList.
Java中的ArrayList是最常见的集合数据结构以及我们经常使用的HashMap。
为什么选择arraylist ,和数组比较:
- 数组是固定的长度数据结构如果阵列已满,则无法向其添加元素,随着Java中的ArrayList可以根据我们的需求动态增长和缩小。
- 我们可以使用ArrayList使用泛型,但不是数组
- ArrayList具有可用于执行操作的预定义方法。
关于Java中的ArrayList的一些重要点是:
- ArrayList是列表接口的实现。
- ArrayList不同步(所以没有线程安全)
- ArrayList使用数组作为内部数据结构实现。可以动态调整大小。
- ArrayList在其尺寸增加时增加其大小的一半。
Java中的ArrayList示例
package org.arpit.theitroad; import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.*; public class JavaArrayListExampleMain { /* * @author : Arpit Mandliya */ public static void main(String[] args) { ArrayList employeeNameList = new ArrayList(); employeeNameList.add("John"); employeeNameList.add("Ankit"); employeeNameList.add("Rohan"); employeeNameList.add("Amit"); System.out.println("Employee list:"); for (String empName : employeeNameList) { System.out.println(empName); } } }
运行上面的程序时,我们将得到以下输出:
Employee list: John Ankit Rohan Amit
迭代列表:
我们使用foreach循环在上面的示例中迭代列表:在列表中有很多方法可以迭代。
他们之中有一些是:
- 使用循环
- 使用迭代器
迭代器示例:
package org.arpit.theitroad; import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.*; public class JavaArrayListExampleMain { /* * @author : Arpit Mandliya */ public static void main(String[] args) { ArrayList employeeNameList = new ArrayList(); employeeNameList.add("John"); employeeNameList.add("Ankit"); employeeNameList.add("Rohan"); employeeNameList.add("Amit"); System.out.println("Employee list:"); Iterator iter = employeeNameList.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); } } }
运行上面的程序时,我们将得到以下输出:
Employee list: John Ankit Rohan Amit
Java中的ArrayList方法
我在字符串列表的上下文中解释了以下方法,但我们可以将任何对象放在列表中。
添加(对象O):此方法将Object O添加到ArrayList的末尾。
employeeNameList.add("Amit")
此语句将在上次位置添加ArrayList中的字符串amit。
添加(int index,对象o):这将对象o添加到指定索引中的ArrayList。
employeeNameList.add(5,"Ankit")
它将将字符串ankit添加到第5个索引(随着array list以索引0)的第5个索引(第6个位置)的ArrayList。
对象GET(int索引):它返回在指定索引处存在的列表对象。
String str= employeeNameList.get(2);
它用于从ArrayList获取元素,这是最使用的方法。
其中我们从ArrayList获取元素并将其分配给String对象
删除(对象O):从ArrayList中删除对象o。
employeeNameList.remove("Arpit");
此代码将从ArrayList中删除字符串"Arpit"。
删除(int index):删除在指定索引处存在的元素
employeeNameList.remove(3);
它将删除索引3的元素(列表的第4个元素,因为列表始终以0开头)。
SET(INT索引,对象O):它主要用于更新元素。
它替换为对象o在指定索引处存在的元素。
employeeNameList.set(2, "Ankit");
它将用值汤姆替换在索引2(第3元元素中的第3元件)中存在的元素。
int indexof(对象O):它用于查找对象o的索引。
如果对象不存在,则此方法返回-1
int index = employeeNameList.indexOf("Ankit");
这将为Employeenamelist中的字符串Ankit的索引(位置)提供。
int size():它给出了ArrayList的大小
int sizeOfArrayList = employeeNameList.size();
布尔包含(对象O):它检查给定对象O是否存在于ArrayList中。
如果不存在,它会返回false
employeeNameList.contains("Amit");
如果字符串"amit"存在于列表中返回false,则会返回true
清除():
employeeNameList.clear()
它将删除ArrayList的所有对象,因此上面的语句将从EmployEnamelist中删除所有字符串对象
如果要合并两个ArrayList,则可以使用此方法。
例子:
package org.arpit.theitroad; import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.*; public class JavaArrayListExampleMain { /* * @author : Arpit Mandliya */ public static void main(String[] args) { ArrayList employeeNameList = new ArrayList(); employeeNameList.add("John"); employeeNameList.add("Ankit"); employeeNameList.add("Rohan"); employeeNameList.add("Amit"); ArrayList otherList = new ArrayList(); otherList.add("abc"); otherList.add("xyz"); //Adding otherList to employeeList employeeNameList.addAll(otherList); System.out.println("Employee list:"); for (String empName : employeeNameList) { System.out.println(empName); } } }
运行上面的程序时,我们将得到以下输出:
Employee list: John Ankit Rohan Amit abc xyz
如果要删除其他列表中存在的元素列表,则可以使用此方法。
例子:
package org.arpit.theitroad; import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.*; public class JavaArrayListExampleMain { /* * @author : Arpit Mandliya */ public static void main(String[] args) { ArrayList employeeNameList = new ArrayList(); employeeNameList.add("John"); employeeNameList.add("Ankit"); employeeNameList.add("Rohan"); employeeNameList.add("Amit"); ArrayList otherList = new ArrayList(); otherList.add("John"); otherList.add("Rohan"); //removing otherList's element from ArrayList employeeNameList.removeAll(otherList); System.out.println("Employee list:"); for (String empName : employeeNameList) { System.out.println(empName); } } }
运行上面的程序时,我们将得到以下输出:
Employee list: Ankit Amit
如果要保留收集中存在的那些元素,则可以使用此方法。
例子:
package org.arpit.theitroad; import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.*; public class JavaArrayListExampleMain { /* * @author : Arpit Mandliya */ public static void main(String[] args) { ArrayList employeeNameList = new ArrayList(); employeeNameList.add("John"); employeeNameList.add("Ankit"); employeeNameList.add("Rohan"); employeeNameList.add("Amit"); ArrayList otherList = new ArrayList(); otherList.add("John"); otherList.add("Rohan"); //removing otherList's element from ArrayList employeeNameList.retainAll(otherList); System.out.println("Employee list:"); for (String empName : employeeNameList) { System.out.println(empName); } } }
运行上面的程序时,我们将得到以下输出:
Employee list: John Rohan