集合框架之MAP

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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值