JAVA编程问题使用TreeSet类,实现按照英语成绩高低存放2个student对象。
可以依次取出,保存到二维数据,再用二维数组赋值给Jtable
排序的时候,对比不同的属性
~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import java.util.Iterator;
import java.util.TreeSet;
public class Test {
public static void main(String[] args) {
TreeSet<Student> students = new TreeSet<>();
students.add(new Student("zhang san", 90));
students.add(new Student("li si", 75));
students.add(new Student("wang wu", 95));
students.add(new Student("zhao liu", 90));
Iterator<Student> iterator = students.iterator();
while (iterator.hasNext()) {
Student student = iterator.next();
System.out.println(student.getName() + " " + student.getEnglish());
}
}
}
class Student implements Comparable<Student> {
private String name;
private int english;
public Student() {
}
public Student(String name, int english) {
this.name = name;
this.english = english;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getEnglish() {
return english;
}
public void setEnglish(int english) {
this.english = english;
}
public int compareTo(Student o) {
if (this.english != o.english) {
return o.english - this.english;
} else {
return this.name.compareTo(o.name);
}
}
}
compareTo的实现方法是,先按照成绩由高到低排列,如果成绩一样那么就按照姓名排列。
package com.isoftstone.baidu;
import java.util.Iterator;
import java.util.TreeSet;
public class TreeSetDemo {
public static void main(String [] args) {
Student student1 = new Student();
student1.setName("张三");
student1.setEnglish(79f);
Student student2 = new Student();
student2.setName("李四");
student2.setEnglish(95f);
Student student3 = new Student();
student3.setName("王五");
student3.setEnglish(85f);
Student student4 = new Student();
student4.setName("赵六");
student4.setEnglish(68f);
TreeSet<Student> set = new TreeSet<Student>();
set.add(student1);
set.add(student2);
set.add(student3);
set.add(student4);
Iterator<Student> it = set.iterator();
while(it.hasNext()) {
Student temp = it.next();
System.out.println("姓名:" + temp.getName());
System.out.println("英语成绩:" + temp.getEnglish());
}
}
}
class Student implements Comparable<Student> {
private String name; // 姓名
private float english;// 英文成绩
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getEnglish() {
return english;
}
public void setEnglish(float english) {
this.english = english;
}
public int compareTo(Student anotherStudent) {
int thisVal = (int) this.getEnglish();
int anotherVal = (int) anotherStudent.getEnglish();;
return (thisVal < anotherVal ? -1 : (thisVal == anotherVal ? 0 : 1));
}
}
测试结果:
姓名:赵六
英语成绩:68.0
姓名:张三
英语成绩:79.0
姓名:王五
英语成绩:85.0
姓名:李四
英语成绩:95.0
JAVA编程问题使用TreeSet类,实现按照英语成绩高低存放2个student对象...
答:import java.util.Iterator;import java.util.TreeSet;public class Test { public static void main(String[] args) { TreeSet<Student> students = new TreeSet<>(); students.add(new Student("zhang san"...
java界面编程实现展开树
答:使用JTree 给你个例子import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;public class TreeDemo1{ public TreeDemo1(){ JFrame f=new JFrame("TreeDemo1");Container contentPane...
java中如何对jtree编程
答:DefaultMutableTreeNode child10 = new DefaultMutableTreeNode("修改用户密码");DefaultMutableTreeNode child11 = new DefaultMutableTreeNode("删除用户信息");DefaultMutableTreeNode child12 = new DefaultMutableTreeNode("...
Java中有关JTree的问题,求大侠帮忙。。。
答:1:你可以为它添加一个空的子节点 2:你可以实现一下这个类重写它显示图标的方法 public class FriendsIco extends DefaultTreeCellRenderer { Override public Component getTreeCellRendererComponent (JTree tree,Object value...
Java二叉树构造问题 要求:从控制台输入一行扩展二叉树的字符串,然后根...
答:if(tree.getParentId()==0){ tree.showChildTree(trees);} } } } 树类:package tree;import java.util.List;public class Tree { private int parentId;private int id;private String showStr;private String Spaces...
java 递归数据库生成 树形结构问题
答:public void loadTree() throws Exception{ System.out.println(JsonUtils.javaToJson(recursiveTree(1)));} / 递归算法解析成树形结构 param cid return author jiqinlin / public TreeNode recursiveTree(int cid) { //...
Java怎么实现输出是一个tree结构
答:} public void setLink(String link) { this.link = link; } }输出树形菜单类:package cn.com.tree; import java.util.ArrayList; import java.util.List; public class Tree { private StringB...
java实现二叉树的问题
答:/ public class BitTree { public static Node2 root;public static String asString;//事先存入的数组,符号#表示二叉树结束。public static final char[] treeLine = {'a','b','c','d','e','f','g',' ',...
java问题,关于JTree子节点显示图片问题(高分!)
答:import java.awt.*;import java.awt.event.*;public class 使用DefaultTreeCellRenderer extends JApplet { static private Icon openFolder = new ImageIcon("button_lit.jpg"),closedFolder = new ImageIcon("button.jpg"...
java编程中,Treeset和泛型问题请教?
答:treeSet肯定有一个带一个参数的构造函数,这个构造函数往往用来传定一个对象。treeSet对象在组织的时候,就会利用这个对象去实现其他要实现的功能。有点像Spring的注入。注入进去一个类,能直接使用其方法,然后实现某些功能。