List,Set,Map是否继承自Collection接口?
1.List,Set,Map是否继承自Collection接口?
List,Set是,Map不是。
如图:
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection 和 Map 的区别: 容器内每个位置所存储的元素个数不同。Collection类型,每个位置只有一个元素。 Map类型,持有 key-value pair,像个小型数据库。
Map集合遍历的四种方式理解和简单使用
~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值
1:无非就是通过map.keySet()获取到值,然后根据键获取到值
for(String s:map.keySet()){
System.out.println("key : "+s+" value : "+map.get(s));
}
2:通过Map.Entry(String,String) 获取,然后使用entry.getKey()获取到键,通过entry.getValue()获取到值
for(Map.Entry<String, String> entry : map.entrySet()){
System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue());
}
3:其中通过Iterator也是为了最终获得entry,所以理解其用法,可以很好的使用和掌握
2.列举String中几个常用的方法?
length():求字符串的长度
indexOf():求某个字符在字符串中的位置
charAt():求一个字符串中某个位置的值
equals():比较两个字符串是否相同
trim():将字符串开头的空白(空格)和尾部的空白去掉。
replace():将字符串中的某些字符用别的字符替换掉。形如replace(“abc”,”ddd”);字符串中的abc将会被ddd替换掉。
split():根据给定正则表达式的匹配拆分此字符串。形如 String s = "The time is going quickly!"; str1=s.split(" ");
substring():输出一个新的字符串,它是此字符串中的子串,形如substring(3,7);它将字符串中的第四个第五个第六个输出。
format():使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
toLowerCase():将字符串中所有的大写改变成小写
toUpperCase():将字符串中所有的小写改变为大写
3.String类能否被继承,为什么?
不能被继承,因为String类有final修饰符,而final修饰的类是不能被继承的。
Java对String类的定义:
public final class String implements java.io.Serializable, Comparable<String>, CharSequence { // 省略... }