1.老思维导图了————>
2.MAP的特点
Ⅰ.底层是哈希表数据结构
Ⅱ.键值对形式存在
Ⅲ.key值唯一
增加 map.put();
package com.LSZ.map;
import java.util.HashMap;
import java.util.Map;
public class example1 {
public static void main(String[] args) {
Map<String, Object> map = new HashMap<>();
map.put("k", 1);
map.put("F", 2);
map.put("C", 3);
System.out.println(map);
}
}
输出结果为
删除 map.remove();
package com.LSZ.map;
import java.util.HashMap;
import java.util.Map;
public class example1 {
public static void main(String[] args) {
Map<String, Object> map = new HashMap<>();
map.put("k", 1);
map.put("F", 2);
map.put("C", 3);
System.out.println(map);
System.out.println(map.remove("k"));// 删除
System.out.println(map);
}
}
输出结果为
修改 map.put();
package com.LSZ.map;
import java.util.HashMap;
import java.util.Map;
public class example1 {
public static void main(String[] args) {
Map<String, Object> map = new HashMap<>();
map.put("K", 1);
map.put("F", 2);
map.put("C", 3);
System.out.println(map);
System.out.println(map.remove("K"));// 删除
System.out.println(map);
map.put("C", 5);// 修改
System.out.println(map);
}
}
输出结果为
增加用到的方法也是 map.put();
修改的意义在于在删除原有的数值传入一个新的数值
查找 Map.get();
package com.LSZ.map;
import java.util.HashMap;
import java.util.Map;
public class example1 {
public static void main(String[] args) {
Map<String, Object> map = new HashMap<>();
map.put("K", 1);
map.put("F", 2);
map.put("C", 3);
System.out.println(map);
System.out.println(map.remove("K"));// 删除
System.out.println(map);
map.put("C", 5);// 修改
System.out.println(map);
System.out.println(map.get("K"));//查询
}
}
输出结果为
因为在上面的删除方法里已经将“K”删除,所以这里传出了一个null值
3.Map集合的遍历方式
foreach遍历
entrySet遍历
在entrySet中,要获取集合的映射关系,键与值要一一对应
4.泛型
泛型的作用:
1.把运行时发生的错误转换为编译时的错误
2.避免了强制类型转换的麻烦
package com.LSZ.map;
import java.util.List;
public class example4 {
}
class CommonDao<T> {
public List<T> list(T t) {
System.out.println("通用.....");
return null;
}
}
class Book {
}
class User {
}
class BookDao extends CommonDao<Book> {
@Override
public List<Book> list(Book t) {
// TODO Auto-generated method stub
return super.list(t);
}
}
class UserDao extends CommonDao<User> {
@Override
public List<User> list(User t) {
// TODO Auto-generated method stub
return super.list(t);
}
}
5,集合框架工具类
Conllections:
package com.LSZ.map;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class example5 {
public static void main(String[] args) {
List<User> list = new ArrayList<>();
list.add(new User("aa", 100));
list.add(new User("bb", 200));
list.add(new User("cc", 300));
list.add(new User("dd", 400));
// 数组排序
Collections.sort(list, new Comparator<User>() {
@Override
public int compare(User o1, User o2) {
// TODO Auto-generated method stub
return o1.getMoney() - o2.getMoney();
}
});
for (User user : list) {
System.out.println(u);
}
}
}
class User {
private String name;
private int money;
public User() {
// TODO Auto-generated constructor stub
}
public User(String name, int money) {
super();
this.name = name;
this.money = money;
}
@Override
public String toString() {
return "User [name=" + name + ", money=" + money + "]";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
}
集合转数组:
student[] arr = (student[]) list.toArray();
Arrays:直接遍历数组
System.out.println(Arrays.toString(arr));
集合转数组,但是不能增加
Arrays.asList(arr);
排序
Arrays.sort(arr);
判断是否相等
Arrays.equals(arr, arr2);