在Java中将数组统计
import java.util.HashMap;
import java.util.Map;
public class test {
public static void main(String[] args) {
//如需要保存顺序,则使用LinkedHashMap
Map<String, String> m = new HashMap<String, String>();
//拼接的字符串需要使用str.split(",")来变为数组。
String[] str = {"hello:1","java:1","hello:1"};
for(String s : str){
int i = s.indexOf(":");
String key = s.substring(0,i);
String value = s.substring(i+1);
if(m.containsKey(key)){
int val = (Integer.parseInt(m.get(key))+Integer.parseInt(value));
m.put(key, val+"");
}else{
m.put(key, value);
}
}
for (String key : m.keySet()) {
System.out.println("key= "+ key + " and value= " + m.get(key));
}
}
}
实例:
js中 获取input中多选或单选里的alt的值
var alts = new Array();
var a = document.getElementsByName("checklist");
for (var i=0;i<a.length;i++){
if(a[i].checked){
var alt = a[i].alt;
alts[i] = alts
}
}
将值传到后台(我的alt保存的是单个日期,欲将相同的日期做个统计)
Java代码:
String alts = pd.getString("alts[]");
String[] str = alts.split(",");
//统计相同日期的个数存放到map中
Map<String, String> m = new HashMap<String, String>();
for(String s : str){
String key = s;
if(m.containsKey(key)){
int val = (Integer.parseInt(m.get(key))+1);
m.put(key, val+"");
}else{
m.put(key, "1");
}
}