- Collection接口(增删改查等)
package jihe;
import javafx.print.Collation;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
/**
* @program: 1010
* @description
* @author: YouName
* @create: 2021-10-10 14:29
**/
public class TestCollection {
public static void main(String[] args) {
//向上转型:实际new的对象是ArrayList,使用Collection类型的引用来保存了这个对象
//此处应用泛型:写一个方法/类,让这个方法和类可以同时支持多种不同类型的数据
//<String>是泛型参数。collection里baohanzheruogangestring对象
Collection<String> collection = new ArrayList<>();//1.创建Collection
//2.使用size方法
System.out.println(collection.size());
//3.使用isEmpty方法
System.out.println(collection.isEmpty());
//4.使用add方法插入元素(add中的参数类型必须和泛型参数类型相匹配)
collection.add("我");
collection.add("你");
//5.再次使用size和isEmpty
System.out.println(collection.size());
System.out.println(collection.isEmpty());
//6.可以用toArray把Collection转换成数组,得到的结果是Object[]
Object[] array = collection.toArray();
System.out.println(Arrays.toString(array));
//7.可以直接使用for循环遍历集合中的元素
for (String s:collection) {
System.out.println(s );
}
//8.使用contains方法判定元素是否存在
System.out.println(collection.contains("我"));
//9.使用remove删除
collection.remove("你");
for (String s:collection) {
System.out.println(s );
}
//10.使用clear清空所有元素
collection.clear();
System.out.println(collection.isEmpty());
System.out.println(collection.size());
for (String s:collection) {
System.out.println(s );
}
}
}
2.Map接口
Map中存的是键值对(key,value),通过key找到对应的value,其中key不能重复。
package jihe;
import java.util.HashMap;
import java.util.Map;
/**
* @program: 1010
* @description
* @author: YouName
* @create: 2021-10-10 15:12
**/
public class TestMap {
public static void main(String[] args) {
//1.创建Map实例,泛型参数有两个,一个是key类型,一个是value类型
//key,value这种结构最主要的目的就是根据key找到对应的value
Map<String,String> map = new HashMap<>();
//2.使用size获取到元素个数(键值对的个数)
System.out.println(map.size());
//3.使用isEmpty查看是否为空
System.out.println(map.isEmpty());
//4.把一些键值对放进去
map.put("水浒传","宋江");
map.put("西游记","唐僧");
map.put("红楼梦","贾宝玉");
//5.使用get方法根据key查找value,key不存在返回null
System.out.println(map.get("西游记"));
System.out.println(map.get("西"));
System.out.println(map.getOrDefault("西","小"));
//6.通过containsKey和containsValue来判定某个值是否存在
//containsKeyzhixingxiaolv较高,containsValue执行效率较低
System.out.println(map.containsKey("水浒传"));
System.out.println(map.containsValue("唐僧"));
//7.再次使用isEmpty和size
System.out.println(map.size());
System.out.println(map.isEmpty());
//8.foreach遍历Map中的所有键值对
//Entry:表示一个”条目“,也就是一个键值对
//map.entrySet获取到所有的键值对
//map中的元素顺序和插入顺序无关,取决于具体的实现方式
for (Map.Entry<String,String> entry : map.entrySet()) {
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
}