有如下数据
产品编号 产品名称 价格 销售量
001 索爱 K750 1200 10
002 诺基亚5200 4500 0
003 摩托罗拉 X3 1700 15
004 多普达 T4 3000 7
问题:
1,把以上数据存入到List中去
2,价格由多到小进行排序
3,把销售量为0的数据删除
产品编号 产品名称 价格 销售量
001 索爱 K750 1200 10
002 诺基亚5200 4500 0
003 摩托罗拉 X3 1700 15
004 多普达 T4 3000 7
问题:
1,把以上数据存入到List中去
2,价格由多到小进行排序
3,把销售量为0的数据删除
public class Phone { public static void main(String[] args) {
LinkedList<phoneList> list = new LinkedList<phoneList>();
phoneList p1 = new phoneList("001" ,"索爱 K750", 1200, 10);
phoneList p2 = new phoneList("002" ,"诺基亚5200", 4500, 0);
phoneList p3 = new phoneList("003" ,"摩托罗拉 X3", 1700, 15);
phoneList p4 = new phoneList("004" ,"多普达 T4", 3000, 7);
list.add(p1);
list.add(p2);
list.add(p3);
list.add(p4);
Collections.sort(list);
for(phoneList p:list){
System.out.println(p);
}
System.out.println();
deleteSale(list);
for(phoneList p:list){
System.out.println(p);
}
}
public static void deleteSale(LinkedList<phoneList> a){
ListIterator<phoneList> iter = a.listIterator();
while(iter.hasNext()){
phoneList p = iter.next();
if(p.getSale() == 0){
iter.remove();
}
}
}
}class phoneList implements Comparable<phoneList>{
public phoneList(String number,String name,double value,int sale){
this.number = number;
this.name = name;
this.value = value;
this.sale = sale;
}
public double getSale(){
return sale;
}
@Override
public String toString(){
return number+" "+name+" "+value+" "+sale;
}
private String number;
private String name;
private double value;
private int sale;
@Override
public int compareTo(phoneList p) {
if(value < p.value) return 1;
if(value > p.value) return -1;
return 0;
}
}
public class MobilePhone implements Comparable<MobilePhone> {
private String id;
private String name;
private double price;
private long sales;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public long getSales() {
return sales;
}
public void setSales(long sales) {
this.sales = sales;
}
public MobilePhone() {
}
public MobilePhone(String id, String name, double price, long sales) {
this.id = id;
this.name = name;
this.price = price;
this.sales = sales;
} public int compareTo(MobilePhone mobilePhone) {
return (sales < mobilePhone.sales) ? 1 : (sales > mobilePhone.sales) ? -1 : 0;
}
@Override
public String toString() {
return "产品编号:" + id + ", 产品名称:" + name + ", 价格:" + price + ", 销售量:" + sales;
}
}import java.util.List;
import java.util.ArrayList;
import java.util.Collections;public class MobilePhoneTest {
public static void main(String[] args) {
List<MobilePhone> mobilePhones = new ArrayList<MobilePhone>();
mobilePhones.add(new MobilePhone("001", "索爱 K750", 1200, 10));
mobilePhones.add(new MobilePhone("002", "诺基亚5200", 4500, 0));
mobilePhones.add(new MobilePhone("003", "摩托罗拉 X3", 1700, 15));
mobilePhones.add(new MobilePhone("004", "多普达 T4", 3000, 7));
printList(mobilePhones);
Collections.sort(mobilePhones);
printList(mobilePhones);
for (int i = mobilePhones.size() - 1; i >= 0; i--) {
MobilePhone mobilePhone = mobilePhones.get(i);
if (mobilePhone.getSales() == 0) {
mobilePhones.remove(mobilePhone);
}
}
printList(mobilePhones);
}
public static void printList(List<MobilePhone> mobilePhones) {
for (int i = 0; i < mobilePhones.size(); i++) {
System.out.println(mobilePhones.get(i));
}
System.out.println();
}
}
这种题目面试的时候是要用记事本随便写写调一下就出来的,纯属检验熟练度问题,能够做到就达到代码工的基本要求,虽然做项目的时候没谁会用记事本写,楼主继续努力
public class MobilePhone implements Comparable<MobilePhone> {
private String id;
private String name;
private double price;
private long sales;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public long getSales() {
return sales;
}
public void setSales(long sales) {
this.sales = sales;
}
public MobilePhone() {
}
public MobilePhone(String id, String name, double price, long sales) {
this.id = id;
this.name = name;
this.price = price;
this.sales = sales;
} public int compareTo(MobilePhone mobilePhone) {
return (price < mobilePhone.price) ? 1 : (price > mobilePhone.price) ? -1 : 0;
}
@Override
public String toString() {
return "产品编号:" + id + ", 产品名称:" + name + ", 价格:" + price + ", 销售量:" + sales;
}
}
弄成了按销售量排序,错了,不好意思,改一改MobilePhone类