java读取文本文件内容,中间的内容如何排序
java读取文本文件内容,数量和价钱如何排序,如果要加入升序和降序呢。最好是附上代码。名称数量价钱USB8GB1222.99USB4GB1032.99USB16GB101...
java读取文本文件内容,数量和价钱如何排序,如果要加入升序和降序呢。最好是附上代码。 名称 数量 价钱 USB 8GB 12 22.99 USB 4GB 10 32.99 USB 16GB 10 12.99 Netbook 15 320.9 External HDD 8 99.0 Laptop 5 699.0 LCD TV 8 699.0 Optical Mouse 6 25.99 Digital Camera 3 125.0 Desktop PC 3 799.0 Desktop 1 729.0 USB Hub 2 22.99 Ethernet Switch 2 65.99 USB Keyboard 8 19.5 Desk 4 250.9
展开
1个回答
展开全部
我的思路是这样的:把读取的每一行放到一个对象里。然后用Collections.sort()排序。主要代码如下: class MyRow { private String name; // 名字 private double length; // 长度 private double weight; // 重量 private double power; // 威力 private double price; // 价格 public MyRow(String x) { String[] ss = x.split("\t"); name = ss[0].trim(); length = Double.parseDouble(ss[1]); weight = Double.parseDouble(ss[2]); power = Double.parseDouble(ss[3]); price = Double.parseDouble(ss[4]); } public String toString() { return name + "\t" + length + "\t" + weight + "\t" + power + "\t" + price; } public String getName() { return name; } public double getLength() { return length; } public double getWeight() { return weight; } public double getPower() { return power; } public double getPrice() { return price; } } class MyData { // 内部类,“裁判”类,用于裁决Vector中的对象的比较大小问题 class CaiPan implements Comparator { private int type; public CaiPan(int type) { this.type = type; } public int compare(Object o1, Object o2) { if(!(o1 instanceof MyRow)) return 0; if(!(o2 instanceof MyRow)) return 0; MyRow r1 = (MyRow)o1; MyRow r2 = (MyRow)o2; return Double.compare(r1.getLength(),r2.getLength()); } } } private Vector _v = new Vector(); try{ BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(x))); _v.clear(); br.readLine(); // 第一行不要 for(;;){ String s = br.readLine(); if(s==null) break; MyRow row = new MyRow(s); _v.add(row); }catch(Exception e){ //e.printStackTrace(); return false; }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询