package other; public class FruitDate { /** 水果种类 */
private String fruitKind;
/** 数量 */
private String num; /**
* 水果种类的取得
* @return fruitKind 水果种类
*/
public String getFruitKind() {
return fruitKind;
}
/**
* 水果种类的设定
* @param fruitKind 水果种类
*/
public void setFruitKind(String fruitKind) {
this.fruitKind = fruitKind;
}
/**
* 数量的取得
* @return num 数量
*/
public String getNum() {
return num;
}
/**
* 数量的设定
* @param num 数量
*/
public void setNum(String num) {
this.num = num;
}
}package justDoit;import java.util.ArrayList;
import java.util.List;import other.FruitDate;public class Test { public static void main(String[] args) { inputList();
} public static void inputList() { List<FruitDate> listTemp =new ArrayList <FruitDate>(); FruitDate listData = new FruitDate();
FruitDate listData2 = new FruitDate();
FruitDate listData3 = new FruitDate();
FruitDate listData4 = new FruitDate();
FruitDate listData5 = new FruitDate();
FruitDate listData6 = new FruitDate(); listData.setFruitKind("香蕉");
listTemp.add(listData);
listData2.setFruitKind("桔子");
listTemp.add(listData2);
listData3.setFruitKind("苹果");
listTemp.add(listData3);
listData4.setFruitKind("桔子");
listTemp.add(listData4);
listData5.setFruitKind("香蕉");
listTemp.add(listData5);
listData6.setFruitKind("香蕉");
listTemp.add(listData6); for (int j=0; j < listTemp.size() ; j++ ) { System.out.println(listTemp.get(j).getFruitKind());
}
}
}
List内容
香蕉
桔子
苹果
桔子
香蕉
香蕉
怎么实现将相同的水果种类个数相加放到num里
结果
香蕉 3
桔子 2
苹果 1
桔子 2
香蕉 3
香蕉 3
for (int j = 0; j < listTemp.size(); j++) {
String name = listTemp.get(j).getFruitKind();
if(counts.get(name) == null){
counts.put(name, "1");
}else{
counts.put(name, String.valueOf(Integer.parseInt(counts.get(name)) + 1));
}
}
Set<Entry<String, String>> set = counts.entrySet();
Iterator<Entry<String, String>> iterator = set.iterator();
while(iterator.hasNext()){
Entry<String, String> entry = iterator.next();
System.out.println(entry.getKey() + " " + entry.getValue());
}
package other; public class FruitDate { /** 水果种类 */
private String fruitKind;
/** 数量 */
private String num;
/** 行数 */
private String lineCnt; /**
* 行数的取得
* @return fruitKind 行数
*/
public String getLineCnt() {
return lineCnt;
}
/**
* 行数的设定
* @param fruitKind 行数
*/
public void setLineCnt(String lineCnt) {
this.lineCnt = lineCnt;
}
/**
* 水果种类的取得
* @return fruitKind 水果种类
*/
public String getFruitKind() {
return fruitKind;
}
/**
* 水果种类的设定
* @param fruitKind 水果种类
*/
public void setFruitKind(String fruitKind) {
this.fruitKind = fruitKind;
}
/**
* 数量的取得
* @return num 数量
*/
public String getNum() {
return num;
}
/**
* 数量的设定
* @param num 数量
*/
public void setNum(String num) {
this.num = num;
}
}
加个行数能用Collections.sort()方法排序做么
不是想打印出来
结果还是放在 List<FruitDate >里
只是存的结果样式是下面的样子:
香蕉 3
桔子 2
苹果 1
桔子 2
香蕉 3
香蕉 3