大数据第11天
2016-05-20 17:03
337 查看
1.定义罪犯Criminal类,height(身高)/weight(体重)/blood(血型)/home(籍贯)属性。重写hashcode和equals,使用四个属性的组合进行实现。创建HashSet集合,里面存放20个Criminal对象,其中O型血2人,A型血3人,B型血4人,AB型血1人,其余血型不详。注意:hashcode()方法实现时,要求身高、体重、和血型三个属性合成一个数字,实现两两比较的高效算法。
2.Map:-----------key(键) - value(值) :kv对.
创建HashMap,Person为key,Dog为value。存放100元素,遍历map集合,两种方式。EntrySet + KeySet.删除操作。remove();1.
2.Map:-----------key(键) - value(值) :kv对.
创建HashMap,Person为key,Dog为value。存放100元素,遍历map集合,两种方式。EntrySet + KeySet.删除操作。remove();1.
package it18zhang; public class ArrayTools { /* * 整数转换为字节数组;向右移位;截断后或运算 * */ // public static void main(String[] args) { // TODO Auto-generated method stub // } public static byte[] int2Bytes(int i){ /* * 整数转换为字节数组 */ byte[] bytes=new byte[4]; bytes[0]=(byte) i; bytes[1]=(byte)(i>>8); bytes[2]=(byte)(i>>16); bytes[3]=(byte)(i>>24); return bytes; } /** *字节转换为整数,向左移位 */ public static int bytes2Int(byte[] bytes){ int i0=bytes[3]<<24; int i1=(bytes[2]&0xFF)<<16; int i2=(bytes[1]&0xFF)<<8; int i3=(bytes[0]&0xFF)<<0; return i0|i1|i2|i3; } }
package it18zhang; public class ArrayTools { /* * 整数转换为字节数组;向右移位;截断后或运算 * */ // public static void main(String[] args) { // TODO Auto-generated method stub // } public static byte[] int2Bytes(int i){ /* * 整数转换为字节数组 */ byte[] bytes=new byte[4]; bytes[0]=(byte) i; bytes[1]=(byte)(i>>8); bytes[2]=(byte)(i>>16); bytes[3]=(byte)(i>>24); return bytes; } /** *字节转换为整数,向左移位 */ public static int bytes2Int(byte[] bytes){ int i0=bytes[3]<<24; int i1=(bytes[2]&0xFF)<<16; int i2=(bytes[1]&0xFF)<<8; int i3=(bytes[0]&0xFF)<<0; return i0|i1|i2|i3; } }
package it18zhang;
public class Criminal {
private int height;
private int weight;
private String blood;
private String home;
public Criminal(int height,int weight,String blood){
if(height <= 0){
System.out.println("身高不能为负数");
System.exit(-1);
}else if(weight<=0){
System.out.println("体重不能为负数");
System.exit(-1);;
}else if(blood == "A" && blood == "B" && blood =="AB" && blood =="O"){
System.out.println("血型不正确");
System.exit(-1);
}else if(home==null){
System.out.println("无家可归");
System.exit(-1);
}else{
this.height=height;
this.weight=weight;
this.blood=blood;
this.home=home;
}
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
public String getBlood() {
return blood;
}
public void setBlood(String blood) {
this.blood = blood;
}
public String getHome() {
return home;
}
public void setHome(String home) {
this.home = home;
}
/*
* 重写hasecode方法
*/
public int hashCode(){
int i0=0<<24;
int i1=(ArrayTools.int2By)
}
public boolean equals(Object obj){
if(obj==null)
return false;
if(obj==this)
return true;
if(obj.getClass()==Criminal.class)
{
Criminal c=(Criminal) obj;
if(c.blood==this.blood && c.height==this.height && c.weight==this.weight && c.home==this.home){
return true;
}
}
return false;
}
}
2.package it18zhang;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class HashMapTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<Person,Dog> map=new HashMap<Person,Dog>();
List<Person> keys=new ArrayList<Person>();
for(int i=0;i<100;i++){
Person p=new Person("person"+i,i);
map.put(p,new Dog("dog"+i,i));
keys.add(p);
}
System.out.println("-----keySet-------");
for(Person p : map.keySet()){
System.out.println(p.getName()+" "+map.get(p).getName());
}
System.out.println("----------EntrySet----------");
for(Entry<Person,Dog> entry : map.entrySet()){
System.out.println(entry.getKey().getName());
}
}
}
package it18zhang;
public class Person {
private String name;
private int age;
public Person(String name,int age){
super();
this.age=age;
this.name=name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package it18zhang;
public class Dog {
private String name;
private int age;
public Dog(String name,int age){
super();
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
相关文章推荐
- c语言实现hashmap(转载)
- 解析WeakHashMap与HashMap的区别详解
- 全面解析Java中的HashMap类
- 基于Java HashMap的死循环的启示详解
- Java中HashMap和Hashtable的区别浅析
- 重载toString实现JS HashMap分析
- Android中实现HashMap排序的方法
- 举例详解Java编程中HashMap的初始化以及遍历的方法
- Java8 HashMap的实现原理分析
- 深入理解Java中的HashMap的实现机制
- 深入解析java HashMap实现原理
- java HashMap的keyset实例
- Java中Hashtable类与HashMap类的区别详解
- 浅析java中ArrayList与Vector的区别以及HashMap与Hashtable的区别
- java中Hashtable和HashMap的区别分析
- JAVA HashMap详细介绍和示例
- java中HashMap的原理分析
- 剖析Java中HashMap数据结构的源码及其性能优化
- Java HashMap的工作原理
- HashMap总结