一、 Java 集合框架
- Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。
- 将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索retrieve 、管理 manipulate ,即平时我们俗称的增删查改 CRUD
二、类和接口
接口:抽象类进一步抽象,只包含抽象方法,字段只包含静态常量。(实现多态、向上转型) 抽象类;包含抽象类方法的类,用abstract修饰。 (接口和抽象类不能实例化。当实例化对象时,不用再一个一个类实例一个一个对象的繁琐操作,只需要这个类或多个类继承或实现了接口,就可以用抽象类或接口向上转型实例某个类的对象了。) 例如:
Collect collect=new ArrayList();
三、泛型
(1) Collection collection=new ArrayList<>( );:将类型参数化了
E:只能是基本数据类型。
(2)作用:实例化对象时指定参数的类型
如:
Collection<String>list=new ArrayList<>();
list.add("我");
list.add("爱");
list.add("Ado");
只能添加String类型的数据。
(四)、包装类
(1)八种基本数据类型对应的类
以此来对基本数据类型进行了面向对象。
装箱:将基本数据类型变成包装类
Integer a=123; (隐式的)
Integer a=new Integer.valueof(123);(显示的)
拆箱:将包装类变成基本数据类型
int b=a; (隐式的)
int b=a.intvalue; (显示的)
(2)Integer的范围
public static void main(String[] args) {
Integer a=129;
Integer b=129;
System.out.println(a==b);
}
输出: false
public static void main(String[] args) {
Integer a=123;
Integer b=123;
System.out.println(a==b);
}
输出:true
源码:
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
(五)Collection接口的常用
public static void main(String[] args) {
Collection<String>list=new ArrayList<>();
System.out.println(list.size());
System.out.println(list.isEmpty());
list.add("我");
list.add("爱");
list.add("Ado");
System.out.println(list.size());
System.out.println(list.isEmpty());
Object[] array=list.toArray();
System.out.println(Arrays.toString(array));
for (String s:list) {
System.out.println(s);
}
list.remove("我");
for (String s:list) {
System.out.println(s);
}
list.clear();
System.out.println(list.size());
System.out.println(list.isEmpty());
}
(六)、Map 常用方法说明
public static void main(String[] args) {
Map<String,String>map=new HashMap<>();
System.out.println(map.size());
System.out.println(map.isEmpty());
System.out.println(map.get("作者"));
System.out.println(map.getOrDefault("作者","佚名"));
System.out.println(map.containsKey("作者"));
System.out.println(map.containsValue("佚名"));
map.put("作者","鲁迅");
map.put("标题","狂人日记");
map.put("发表时间","1918年");
System.out.println(map.size());
System.out.println(map.isEmpty());
System.out.println(map.get("作者"));
System.out.println(map.getOrDefault("作者","佚名"));
System.out.println(map.containsKey("作者"));
System.out.println(map.containsValue("佚名"));
for (Map.Entry<String,String>entry:map.entrySet()) {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
|