集合、collection、list的方法
集合
弥补了数组的缺点
存储一堆数据时,首选集合
List 列表 存储的数据有序,且可以重复
ArrayList 底层使用的数组,查询快,增删慢 (面试:ArrayList如何扩容?)
Set 存储的数据无序,且不可重复
Map 存储的是key-value结构数据
Collection中的方法:
package com.qfedu.collection; import java.util.ArrayList; import java.util.Collection; public class App { public static void main(String[] args) { // TODO Auto-generated method stub Collection collection = new ArrayList(); // 向集合中添加元素 collection.add("英雄联盟"); collection.add("穿越火线"); System.out.println(collection); // 删除指定的元素 collection.remove("穿越火线"); System.out.println(collection); Collection temp = new ArrayList(); temp.add("梦幻西游"); temp.add("王者荣耀"); // 将一个集合中数据添加到另一个集合中 collection.addAll(temp); System.out.println(collection); // 删除指定的集合 // collection.removeAll(temp); // System.out.println(collection); // 获取集合中元素的个数 System.out.println(collection.size()); // 判断集合中是否有元素 System.out.println(collection.isEmpty()); // 判断是否包含指定的对象 System.out.println(collection.contains("英雄联盟123")); // 判断是否包含集合中的所有元素 System.out.println(collection.containsAll(temp)); // 清空集合 collection.clear(); System.out.println(collection); } }
List中方法:
package com.qfedu.list; import java.util.ArrayList; import java.util.List; public class App { public static void main(String[] args) { // TODO Auto-generated method stub List list = new ArrayList(); list.add("Java"); list.add("python"); list.add("iOS"); // 在指定索引处插入元素, 其他元素下移 list.add(1, "AI"); System.out.println(list); // 设置指定索引处的元素 list.set(2, "UI"); System.out.println(list); // 获取指定索引处的元素 System.out.println(list.get(0)); list.add("AI"); System.out.println(list); // 获取指定元素的索引 如果没有找到,返回-1 System.out.println(list.indexOf("AI")); System.out.println(list.lastIndexOf("AI123")); // 根据开始索引、结束索引,进行list集合的截取, 不包含结束索引处的元素 List subList = list.subList(1, 3); System.out.println(subList); // 添加不同类型的元素 list.add(100); list.add(12.3); System.out.println(list); Object item = list.get(0); // 强制类型转换 String str = (String)item; System.out.println(str.length()); // 理论上,集合中可以存储不同类型的数据,实际开发是,存的都是相同类型的数据 // java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String // Object object = list.get(5); // String str2 = (String)object; // System.out.println(str2.length()); // 泛型 针对集合,在<>指定需要存储的数据类型,<>中使用的数据类型是引用类型 List<String> list2 = new ArrayList<String>(); list2.add("haha"); // list2.add(10); 语法上报错 // 取值的时候也不需要进行强制类型转换 String string = list2.get(0); System.out.println(string); } }