Day49(Set介面練習題)

2021-10-20 07:21:55 字數 3284 閱讀 7544

set練習題

第一題:

定義乙個employee類。

該類包含:private成員變數name,age,birthday,其中birthday 為mydate 類的物件;

並為每乙個屬性定義getter, setter 方法;

並重寫tostring 方法輸出name, age, birthday

mydate類包含:

private成員變數year,month,day;並為每乙個屬性定義getter, setter 方法;

分別按以下兩種方式對集合中的元素進行排序,並遍歷輸出:

1). 使employee 實現comparable 介面,並按name 排序

2). 建立treeset 時傳入comparator物件,按生日日期的先後排序。

public

class

treesetexercise

int minusmonth = d1.

getmonth()

-d2.

getmonth()

;if(minusmonth !=0)

int minusday = d1.

getday()

-d2.

getday()

;if(minusday !=0)

else

}else}}

);tre1.

add(e1)

; tre1.

add(e2)

; tre1.

add(e3)

; tre1.

add(e4)

; tre1.

add(e5)

; tre1.

foreach

(system.out:

:println);}

}

public

class

employee

implements

comparable

else

}public

employee

(string name,

int age, mydate birthday)

public string getname()

public

void

setname

(string name)

public

intgetage()

public

void

setage

(int age)

public mydate getbirthday()

public

void

setbirthday

(mydate birthday)

@override

public string tostring()

';}@override

public

boolean

equals

(object o)

@override

public

inthashcode()

}class

mydate

public

intgetyear()

public

void

setyear

(int year)

public

intgetmonth()

public

void

setmonth

(int month)

public

intgetday()

public

void

setday

(int day)

@override

public string tostring()

';}}

第二題:在list內去除重複數字值,要求盡量簡單

public

class

listexercise

public

static

void

main

(string[

] args)

}}

第三題hashset(先hashcode後equals):

public

class

hashsetexercise

的hash值位置,變為了的

set.

remove

(p1)

;// 在hash值位置沒有找到,因為它在原來的位置

system.out.

println

(set)

;//[person01, person01]

set.

add(

newperson01

(1001

,"cc"))

;//正常新增因為,原來集合中的在的hash值位置

system.out.

println

(set)

;//[person01, person01,person01]

set.

add(

newperson01

(1001

,"aa"))

;//想通過hash值比較相同,

// 再通過equals比較,不相同,所以新增成功

system.out.

println

(set)

;//[person01, person01,

// person01,person01]}}

class

person01

public

intgetid()

public

void

setid

(int id)

public string getname()

public

void

setname

(string name)

@override

public

boolean

equals

(object o)

@override

public

inthashcode()

@override

public string tostring()

';}}

介面練習題

編寫 模擬上述場景 1 設計抽象類student 屬性包括姓名 name 學費 fee 方法包括 構造方法student string name 抽象方法void setfee int fee 抽象方法int getfee 2 定義乙個介面salary 包含乙個方法int getsalary 3 定...

介面 多型練習題

輸出下面程式結果 inte ce a class bimplements a class demo 執行結果 the method func is undefined for the type a 分析 a a new b 實現了多型,此時父類的引用指向子類的物件,相當於 動物 a new 狗 這就...

DAY003 練習題答案

練習題 1 猜數字遊戲 題目描述 電腦產生乙個零到100之間的隨機數字,然後讓使用者來猜,如果使用者猜的數字比這個數字大,提示太大,否則提示太小,當使用者正好猜中電腦會提示,恭喜你猜到了這個數是 在使用者每次猜測之前程式會輸出使用者是第幾次猜測,如果使用者輸入的根本不是乙個數字,程式會告訴使用者 輸...