Map
Map集合和Collection集合没有继承关系,所以不能直接用迭代器
Map集合常用方法:
增:put(K key, V value);//如果集合中已存在该键,覆盖整个键值对,并返回被覆盖的键值对的值
删:V remove(Object key);//删除键值对,返回被删除的键值对的值
改:隐藏到了put方法
查:V get(K key);
遍历方式:
第一种:
Map<String, String> map = new LinkedHashMap<>();
map.put("1","a");
map.put("2","b");
map.put("3","c");
Set<String> keys = map.keySet();
Iterator<String> it = keys.iterator();
while(it.hasNext()){
String key = it.next();
String value = map.get(key);
System.out.println(key + "=" + value);
}
第二种:
Map<String, String> map = new LinkedHashMap<>();
map.put("1","a");
map.put("2","b");
map.put("3","c");
Set<Map.Entry<String,String>> entrys = map.entrySet();
Iterator<Map.Entry<String,String>> it = entrys.iterator();
while(it.hasNext()){
Map.Entry<String, String> entry = it.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + "=" + value);
}
内部类
OuterClass.java
public class OuterClass {
int a;
String n;
//内部类
class InnerClass{
int c;
}
}
//访问外部类
OuterClass oc = new OuterClass();
//访问内部类
OuterClass.InnerClass ic = new OuterClass().new InnerClass();
内部接口
OuterInter.java
public interface OuterInter {
public abstract void showOut();
//内部接口
interface InnerInter{
public abstract void showIn();
}
}
//定义两个实现类
//实现外部接口
class Class1 implements OuterInter{
@Override
public void showOut() {
}
}
//实现内部接口
class Class2 implements OuterInter.InnerInter{
@Override
public void showIn() {
}
}
总结:如果Map中的键是自定义类型,那么要保证键的唯一性,必须重写键对应嘞的hashCode和equals方法