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的下标:0
User{id=3}
User{id=5}
User{id=8}
User{id=10}
User{id=1} 20