Set、Map、list的排序,应用及案例
来源:互联网 发布:linux locale命令 编辑:程序博客网 时间:2024/05/24 03:19
package ToString;import java.util.ArrayList;/** * Created by Administrator on 2017/5/8. */public class Myclass { int number; public ArrayList list; public String str; public Myclass(int number, ArrayList list, String str) { this.number = number; this.list = list; this.str = str; } @Override public String toString() { return "Myclass{" + "number=" + number +",str="+str+",list="+list+ '}'; } @Override public boolean equals(Object o) { Myclass my = (Myclass) o; if (my.number==this.number&&my.str.equals(this.str)&&this.list.equals(my.list)){ return true; } return false; } @Override public int hashCode() { return number+str.hashCode()+list.hashCode(); }}package ToString;/** * Created by Administrator on 2017/5/8. */public class User { public int id; public User(int id) { this.id = id; } @Override public boolean equals(Object o) { User user = (User) o; if (user.id==this.id){ return true; } return false; } @Override public String toString() { return "User{" + "id=" + id + '}'; } @Override public int hashCode() { return id; }}
package ToString;import java.util.*;/** * Created by Administrator on 2017/5/8. */public class Test { public static void main(String[] args) { Set set = new HashSet(); set.add(new Myclass(1,new ArrayList(){{add("a");add("b");}},"yyy")); set.add(new Myclass(2,new ArrayList(){{add("c");add("v");}},"wft")); set.add(new Myclass(3,new ArrayList(){{add("e");add("f");}},"fff")); set.add(new Myclass(4,new ArrayList(){{add("g");add("h");}},"ttt")); set.add(new Myclass(5,new ArrayList(){{add("h");add("i");}},"ccc")); for (Object num:set) { System.out.println(num); } ArrayList list = new ArrayList(); list.add(new User(5)); list.add(new User(8)); list.add(new User(3)); list.add(new User(10)); list.add(new User(5)); //排序 //o1>o2 返回1 升序 //o1<o2 返回-1 降序 Collections.sort(list, new Comparator() { @Override public int compare(Object o1, Object o2) { User user1 = (User) o1; User user2 = (User) o2; if (user1.id<user2.id){ return -1; }else if(user1.id>user2.id){ return 1; }else { return 0; } } }); int index = list.indexOf(new User(3)); System.out.println("id为3的下标:"+index); list.remove(new User(5)); for (Object user:list) { System.out.println(user); } Map<User,Integer> map = new HashMap<User,Integer>(); map.put(new User(2),0); map.put(new User(2),0); map.put(new User(2),0); map.put(new User(2),0); map.put(new User(2),0); for (User user:map.keySet()) { if (map.containsKey(new User(2))){ Integer value= map.get(new User(2)); value++; map.put(new User(2),value); } } for (int i = 1; i <=100 ; i++) { for (int j = 0; j <=20 ; j++) { User user = new User(i); if (map.containsKey(user)){ Integer count = map.get(user); count++; map.put(user,count); }else { map.put(user,0); } } } System.out.println(); for (User user:map.keySet()) { System.out.println(user+" "+map.get(user)); } }}运行结果:
Myclass{number=2,str=wft,list=[c, v]}Myclass{number=3,str=fff,list=[e, f]}Myclass{number=4,str=ttt,list=[g, h]}Myclass{number=5,str=ccc,list=[h, i]}Myclass{number=1,str=yyy,list=[a, b]}id为3的下标:0User{id=3}User{id=5}User{id=8}User{id=10}User{id=1} 20
0 0
- Set、Map、list的排序,应用及案例
- list,map,set的遍历以及排序
- list、set、map集合的综合应用
- Set、List及Map的基础用法
- list set map的特点及区别
- Java集合类: Set、List、Map、Queue区别及应用
- 由Java中的Set,List,Map引出的排序技巧
- Java中的Set,List,Map的特点以及排序技巧
- 由Java中的Set,List,Map引出的排序技巧
- 由Java中的Set,List,Map引出的排序技巧
- 由Java中的Set,List,Map引出的排序技巧
- 由Java中的Set,List,Map引出的排序技巧
- 由Java中的Set,List,Map引出的排序技巧
- 由Java中的Set,List,Map引出的排序技巧
- Set,List , Map , Vector,ArrayList存储数据的应用
- Set,List , Map , Vector,ArrayList存储数据的应用
- java list set map的区别与应用
- Java Set,List,Map的区别与应用
- mybatis写无签证接口APP
- 机器学习和深度学习的最佳框架
- Gulp新手入门教程
- nodejs+socket.io实现校内局域网聊天室
- 莫比乌斯反演
- Set、Map、list的排序,应用及案例
- Leetcode 506(Java)
- JAVA-13-IO流之字符流;设计模式讲解
- 深度学习这么火,但要小心不要被它忽悠了
- Android app接入百度地图:禁用手势、模式切换、根据经纬度获取位置信息
- CSS3中的动画功能
- Spark2.1.0+Hadoop2.7.3关联规则平台(三)
- webpack + vue 笔记
- Result Maps collection does not contain value for java.lang.Long