hashMap 获取所有的key
Map<String,Object> map = new HashMap<String,Object>();
Set<String> keys = map.keySet() ;// 得到全部的key
Iterator<String> iter = keys.iterator() ;
while(iter.hasNext()){
String str = iter.next() ;
System.out.print(str + "、") ;
}
方法一(如果map是空 会抛nullPointerException,容量大时使用)
Set<Map.Entry<String, String>> entryseSet=map.entrySet();
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (Map.Entry<Integer, Integer> entry : map.entrySet())
{
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
方法二
Set<String> set = map.keySet();
for (String s:set) {
System.out.println(s+","+map.get(s));
}
方法三 迭代器
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
方法四 (只能遍历value)
List<String> valuesList = new ArrayList<String>(map.values());
for(String str:valuesList){
System.out.println(str);
}
sql 中 having 的用法
HAVING语句通常与GROUP BY语句联合使用,用来过滤由GROUP BY语句返回的记录集
HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足。
select 字段s from tables where 条件 group by 字段s having 条件s
1、HAVING只用于GROUP BY(分组统计语句),
2、WHERE 是用于在初始表中筛选查询,HAVING用于在WHERE和GROUP BY 结果中查询。
3、HAVING可以使用聚合函数,面WHERE 不能。
过滤器与拦截器的区别
过滤器(Filter)
可以在一个请求到达servlet之前,将其截取进行逻辑判断,然后决定是否放行到请求的servlet。也可以在一个response到达客户端之前,截取结果进行逻辑判断,然后决定是否允许返回给客户端。如解决post乱码问题则可以通过滤器解决;
拦截器(Interceptor)
拦截器是动态拦截Action调用的对象。
拦截器在AOP中用于某个方法或者字段被访问之前,进行拦截然后在之前或者之后加入某些操作。是实现AOP的一种策略。
拦截器链:拦截器按一定的顺序连成一条链。访问被拦截的方法时拦截器会按顺序被调用。
实现原理:可通过代理的方式实现,详细可以看我的另一篇模拟实现AOP(一)中查看。
Filter:过滤器,过滤从客户端向服务器发送的请求。
Interceptor:拦截器,更细粒度化的拦截。(拦截其中的具体的方法,字段)。
==比较的是对象所指向的内存地址,
String a=new String("123")
String b=new String("123")
System.out.print(a==b) false
String c="123"
String d="123"
System.out.print(c==d) true //因为常量池的存在 cd这里指向的都是"123"这个常量
基础数据类型 == 是比较值的
整型:byte 1,short 2,int 4,long 8
浮点型:float 4(精确到7位有效数字),double 8
字符型:char 2
Boolean型:boolean 1
网友评论