java中的集合ArrayList

创建集合对象有3种形式

1,不需要传递构造参数,直接new就可以,此时底层数组为空数组。
2,构造参数需要传递一个int类型的值, 用于设置底层数组的长度
3,构造参数需要传递一个Collection集合类型的值,用于将集合中的数据放置在当前的集合中。

第1种方式创建数组

package goodStudy; import java.util.ArrayList;  public class goodStudy{ 	public static void main(String[] args) { 	 ArrayList arrList = new ArrayList(); 	 // 输出的是一个空数组 	 System.out.print(arrList); 	} } 

往集合中添加数据 add

package goodStudy; // ArrayList在java-->util包中 import java.util.ArrayList;  public class goodStudy{ 	public static void main(String[] args) { 	 ArrayList arrList = new ArrayList(); 	 arrList.add("添加一个数据"); 	 // 输出的是一个空数组 	 System.out.print(arrList); 	} } 

往集合中添加数据 add('添加到哪一个位置', '添加的值')

ArrayList arrList = new ArrayList(); arrList.add("嘿嘿01"); arrList.add("嘻嘻02"); arrList.add("哈哈03"); arrList.add(0, "第1项"); // 输出的是: arrList:[第1项, 嘿嘿01, 嘻嘻02, 哈哈03] System.out.println("arrList:" + arrList); 

添加另外一个集合addAll

ArrayList arrList = new ArrayList(); arrList.add("嘿嘿01"); 	  ArrayList otherArr = new ArrayList(); otherArr.add("otner_01"); otherArr.addAll(arrList);  // 输出的是:otherArr:[otner_01, 嘿嘿01] System.out.println("otherArr:" + otherArr); 

集合默认时长度10

在添加数据时,如果集合中没有任何数据,那么底层会创建长度为10的数组

集合添加的个数大于集合的长度,会报错嘛?

package goodStudy; //ArrayList在java--> util包中 import java.util.ArrayList;  public class goodStudy{ 	public static void main(String[] args) { 	 ArrayList arrList = new ArrayList(3); 	 arrList.add("嘿嘿01"); 	 arrList.add("嘻嘻02"); 	 arrList.add("哈哈03"); 	 arrList.add("呲呲04");    // 会报错嘛? 	 System.out.println(arrList); 	} } 

不会报错的。为啥?
因为:在底层创建了一个更大的数组

获取集合的长度 size

ArrayList arrList = new ArrayList(); arrList.add("嘿嘿01"); arrList.add("嘻嘻02"); arrList.add("哈哈03"); arrList.add("呲呲04"); System.out.println(arrList.size());  // 输出 4 

获取集合中指定位置的数据 get

ArrayList arrList = new ArrayList(); arrList.add("嘿嘿01"); arrList.add("嘻嘻02"); arrList.add("哈哈03"); arrList.add("呲呲04"); System.out.print(arrList.get(2)); // 输出的时: 哈哈03 

遍历集合中的数据 for循环

public class goodStudy{ 	public static void main(String[] args) { 	 ArrayList arrList = new ArrayList(); 	 arrList.add("嘿嘿01"); 	 arrList.add("嘻嘻02"); 	 arrList.add("哈哈03"); 	 arrList.add("呲呲04"); 	 for(int i =0;i<arrList.size();i++){ 		System.out.print("当前的值时"+ arrList.get(i)); 	 } 	} } 

遍历集合中的数据 for循环 [不考虑集合的顺序] 特殊的for循环

当我们遍历集合时,如果不考虑集合的顺序,可以使用下面的 for Object循环 
ArrayList arrList = new ArrayList(); arrList.add("嘿嘿01"); arrList.add("嘻嘻02"); arrList.add("哈哈03"); arrList.add("呲呲04"); for(Object obj:arrList ){   System.out.println("当前的值时"+ obj); } 

更新数据 set

ArrayList.set('跟新数据的位置', '更新的值') set的返回值表示的是:当前这一项更新前的数据 
ArrayList arrList = new ArrayList(); arrList.add("嘿嘿01"); arrList.add("嘻嘻02"); arrList.add("哈哈03"); arrList.add("呲呲04"); // set的返回值表示的是:当前这一项更新前的数据 Object oldValue = arrList.set(0, "第1项"); //输出的是 嘿嘿01 System.out.println(oldValue); System.out.println(arrList); 

删除数据 remove

ArrayList.remove(需要删除的数据的位置) remove的返回值表示的是:被删除的数据 
ArrayList arrList = new ArrayList(); arrList.add("嘿嘿01"); arrList.add("嘻嘻02"); arrList.add("哈哈03"); arrList.add("呲呲04"); Object oldValue = arrList.remove(0); // 删除前这一项的值:嘿嘿01 System.out.println("删除前这一项的值:" + oldValue); // arrList:[嘻嘻02, 哈哈03, 呲呲04] System.out.println("arrList:" + arrList); 

清空集合和判断集合是否是空

ArrayList arrList = new ArrayList(); arrList.add("嘿嘿01"); // 清空这个集合 arrList.clear(); // 判断集合是否是空 System.out.println("集合是否是空:" + arrList.isEmpty()); 

removeAll() 方法从一个集合中移除所有在另一个集合中存在的元素。

ArrayList arrList = new ArrayList(); arrList.add("嘿嘿01"); arrList.add("哈哈02");  ArrayList list = new ArrayList(); list.add("哈哈02"); // 从arrList集合中删除list集合中存在的元素 arrList.removeAll(list); // 输出 ["嘿嘿01"] System.out.println("arrList: "+ arrList); 

是否包含某个元素contains, 返回布尔类型的值

ArrayList arrList = new ArrayList(); arrList.add("嘿嘿01"); // 判断 arrList 这个数组是否包含 嘿嘿01 这个元素 Boolean flag = arrList.contains("嘿嘿01"); // 输出的是true System.out.println("flag:" + flag); 

某个元素在集合中首次出现的位置 indexOf

indexOf: 元素在集合中首次出现位置(索引),如果元素不存在返回的值是 -1  
ArrayList arrList = new ArrayList(); arrList.add("嘿嘿01"); arrList.add("哈哈02"); // 寻找 某个元素是在集合中的哪一个位置 int index = arrList.indexOf("哈哈02"); // 输出的是 1  System.out.println(index);  int notIndex = arrList.indexOf("哈哈"); // 输出的是 -1 System.out.println(notIndex); 

某个元素在集合中最后一次出现的位置 lastIndexOf

它用于查找指定元素在列表中最后一次出现的位置(索引) 与indexOf方法类似, 如果找到了该元素,lastIndexOf 方法会返回其索引(从0开始),如果未找到,则返回-1。 

toArray 将集合转化为数组

ArrayList arrList = new ArrayList(); arrList.add("嘿嘿01"); arrList.add("哈哈02"); Object[] arr = arrList.toArray(); System.out.println(arr); 

克隆一个集合[创建集合对象有3种形式]

public class goodStudy{ 	public static void main(String[] args) { 	 ArrayList arrList = new ArrayList(); 	 arrList.add("嘿嘿01"); 	 arrList.add("哈哈02"); 	  	 // 克隆一项 	 ArrayList otherList = new ArrayList(arrList); 	 System.out.println(otherList); 	  	 otherList.set(0, "第一哈哈哈"); 	 // 输出的是: otherList[第一哈哈哈, 哈哈02] 	 System.out.println("otherList" +otherList);     // 输出的是: arrList[嘿嘿01, 哈哈02] 	 System.out.println("arrList"+ arrList); 	} } 

发表评论

评论已关闭。

相关文章