62,635
社区成员




Distinct d1 = new Distinct("东莞", "长安沙头南区");
Distinct d2 = new Distinct("东莞", "长安沙头南区");
Distinct d3 = new Distinct("东莞", "桥头");
Distinct d4 = new Distinct("东莞", "桥头");
Distinct d5 = new Distinct("东莞", "桥头");
Distinct d6 = new Distinct("东莞", "长安镇步步高");
Distinct d1 = new Distinct("东莞", "长安沙头南区");
Distinct d2 = new Distinct("东莞", "长安沙头南区");
Distinct d3 = new Distinct("东莞", "桥头");
Distinct d4 = new Distinct("东莞", "桥头");
Distinct d5 = new Distinct("东莞", "桥头");
Distinct d6 = new Distinct("东莞", "长安镇步步高");
package org.programmer.test.entity;
public class Distinct {
private String city;
private String address;
private int number;
public Distinct(String city, String address) {
this.city = city;
this.address = address;
}
@Override
public String toString() {
return "City:" + city + "\tAddress:" + address + "\tNumber:" + number;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
=====================================================================================
package org.programmer.test.service;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.inspur.test.entity.Distinct;
public class Test {
public static void main(String[] args) {
Distinct d1 = new Distinct("东莞", "长安沙头南区");
Distinct d2 = new Distinct("东莞", "长安沙头南区");
Distinct d3 = new Distinct("东莞", "桥头");
Distinct d4 = new Distinct("东莞", "桥头");
Distinct d5 = new Distinct("东莞", "桥头");
Distinct d6 = new Distinct("东莞", "长安镇步步高");
List<Distinct> oldList = new ArrayList<Distinct>();
oldList.add(d1);
oldList.add(d2);
oldList.add(d3);
oldList.add(d4);
oldList.add(d5);
oldList.add(d6);
System.out.println("old:size=" + oldList.size());
List<Distinct> newList = new ArrayList<Distinct>();
Iterator<Distinct> it = oldList.iterator();
while (it.hasNext()) {
Distinct d = it.next();
Iterator<Distinct> temp = newList.iterator();
boolean flag = false;
while (temp.hasNext()) {
Distinct dt = temp.next();
if (d.getCity().equals(dt.getCity())
&& d.getAddress().equals(dt.getAddress())) {
dt.setNumber(dt.getNumber() + 1);
flag = true;
break;
}
}
if (flag == false) {
newList.add(d);
}
}
System.out.println("new:size=" + newList.size());
Iterator<Distinct> temp = newList.iterator();
boolean flag = false;
while (temp.hasNext()) {
Distinct dt = temp.next();
System.out.println(dt);
}
}
}
public class DistinctList extends ArrayList{
private static Map<String,Integer> distinct_map = new HashMap<String,Integer>();
private Integer distinct_int_value = null;
public void show(){
for(String map_key:distinct_map.keySet()){
System.out.println(map_key + " " + distinct_map.get(map_key));
}
}
public boolean add(Distinct distinct){
if(distinct_map.containsKey(distinct.getAddress())){
Integer distinct_int_value = distinct_map.get(distinct.getAddress());
distinct_int_value = distinct_int_value+1;
return true;
}else{
distinct_map.put(distinct.getAddress(), 1);
return super.add(e);
}
}
}
public class DistinctList extends ArrayList{
private static Map<String,Integer> distinct_map = new HashMap<String,Integer>();
private Integer distinct_int_value = null;
public void show(){
for(String map_key:distinct_map.keySet()){
System.out.println(map_key + " " + distinct_map.get(map_key));
}
}
@Override
public boolean add(Object e){
if(e instanceof Object){
Object distinct = (Object)e;
if(distinct_map.containsKey(distinct.getAddress())){
Integer distinct_int_value = distinct_map.get(distinct.getAddress());
distinct_int_value = distinct_int_value+1;
return true;
}else{
distinct_map.put(distinct.getAddress(), 1);
return super.add(e);
}
}else{
return false;
}
}
}