<无详细内容>
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * Title:map在实际中的应用
- * HashMap的相关基础知识的背景回顾:
- * 1、HashMap是非线程安全的;
- * 2、HashMap的get()方法来获取获取map中的对象,当get(key)为空的时,map返货的object为null;
- * 3、HashMap的负载因子为0.75,如果HashMap的大小超出了定义的容量,那么HashMap将会和其他的集合类一样创建
- * 原来两倍大的HashMap的bucket数组来重新调整新的HashMap。
- * 4、HashMap的初始大小为16,负载因子为0.75,增加的大小为2的次幂。
- * Description: TestDemo
- * @author lu
- * @date 2016年7月19日 下午3:25:33
- */
- public class TestMap {
- /*将大量的数据放到一个map中,设置map中的key—value值*/
- public static Map<String, String> userMap() {
- //创建一个map
- Map<String, String> map=new HashMap<String, String>();
- //设置List值,可扩展为从数据库取出的大量的数据
- List<User> result = new ArrayList<User>();
- User user = new User();
- user.setId("1");
- user.setName("zhangshang");
- result.add(user);
- User user2 = new User();
- user2.setId("2");
- user2.setName("shanghai");
- result.add(user2);
- User user3 = new User();
- user3.setId("3");
- user3.setName("beijing");
- result.add(user3);
- //将取出的数据放在map中
- if(result.size()!=0){//在数据库中拿出数据时,这里的空判断是很有必要的
- for (int i = 0; i < result.size(); i++) {
- String id=result.get(i).getId();
- String name=result.get(i).getName();
- if(null==map.get(id)){
- map.put(id, name);
- }
- }
- }
- return map;
- }
- /*测试模块*/
- public static void main(String[] args) {
- Map<String, String> map=userMap();
- System.out.println("生成的map:"+map);
- //String id1="2";
- String id1="4";
- if(map.get(id1)!=null){
- System.out.println("根据条件匹配获取相应的值:"+map.get(id1));
- } else {
- System.out.println("根据条件匹配获取相应的值:"+map.get(id1));
- }
- }
- }
复制代码 |