java 比较器的使用
对于一个实现了Comparable接口的对象,该接口只能实现一次。如果在一个集合里面需要使用id排序,而在另外一个集合里需要按名字排序这时就需要在这个集合里面指定比较器。
Comparable接口声明了compareTo(Object o)方法
Comparator 接口声明了compare(Object o1,Object o2)方法
eg:
第一个树集是按照对象默认的id排序,第二个树集由指定的构造器按照name 排序
public class Employee implements Comparable<Employee>{
private int id;
private String name;
public Employee(int id, String name){
this.id = id;
this.name = name;
}
public boolean equals(Object o){
if (o == null ){
return false;
}
if (this == o){
return true;
}
if(!(o instanceof Employee)){
return false;
}
Employee employee = (Employee)o;
return (this.id == employee.id) && (this.name.equals(employee.name));
}
public int hashCode(){
int result = 17;
result = 37 * result + id;
result = 37 * result + name.hashCode();
return result;
}
public String toString(){
return "id:"+id+",name:"+name+"";
}
public int compareTo(Employee employee){
//升序
return this.id - employee.id;
//降序
//return employee.id - this.id;
}
public String getName() {
return name;
}
}
/*******************************************************************/
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.Comparator;
public class TreeSetTest {
public static void main(String []args){
//使用的是实现了Compable 接口对象默认的排序方式,按id升序排序
SortedSet<Employee> treeSet = new TreeSet&
相关文档:
Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。
Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C ......
一、建表
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`ID` int(11) NOT NULL auto_increment,
`NAME` varchar(16) NOT NULL default '',
`REMARK` varchar(16) NOT NULL default '',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;
&nb ......
首先,打开MySQL Query Browser,在当前Test数据库下,新建一个student表,有如下属性:
create table student (name varchar(10),id int(2),sex varchar(10));
程序见下:
package com.JDBC;
import java.sql.*;
public class JDBCTest {
public static void main(String[] args) {String driver = "com.mys ......
package com.wfy.system.dao;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
......
有600个苹果,10个盒子,要求把600个苹果分装到10个盒子里。如果有人来买苹果随便说出一个数,直接拿这些盒子组装一下就可以给他不用拆分盒子。请问这10个盒子应该分别装多少苹果?
代码如下
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int box[] = ......