在java中,Map里的put方法,如果key值不存在,则返回值是null,但是key值如果存在,则会返回原先被替换掉的value值.(当然,map中的key和value都允许是null)
@Test
public void cVoid(){
Map map=new HashMap();
String[]strings={"数学","数学","英语","数学","英语","语文"};
String[]strings1=new String[strings.length];
for (int i = 0; i < strings.length; i++) {
String put = (String) map.put(strings[i], "0");//当map中没有这个key的时候返回null
if (put==null){
strings1[i]=strings[i];
}
}
for (String s : strings1) {
System.out.println(s);
}
}
执行结果
数学
null
英语
null
null
语文
还可以对一些不方便操作的元素进行去重
//map去重
Map map=new HashMap();
for(Element element : b){
Thread.sleep(1000);
String video_url = element.attr("href"); // 电影链接地址
System.out.println(video_url+"------------");
String put = (String) map.put(video_url, "0");
if (put==null){
try {
//获取详细信息
getFilm_information getFilmInformation=new getFilm_information();
getFilmInformation.getAFilm(video_url);
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
}
}