生活随笔
收集整理的這篇文章主要介紹了
Map集合相关应用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.鍵盤錄入一個字符串,求該字符串中每一個字符出現(xiàn)的次數(shù)。
要求:按照字母順序打印
如: 錄入的字符串為"apple",打印 a(1) e(1) l(1) p(2)
public class Demo4 {public static void main(String
[] args
) {Scanner sc
= new Scanner(System
.in
);System
.out
.println("請輸入字符串");String str
= sc
.nextLine();TreeMap
<Character, Integer> map
= new TreeMap<>();for (int i
= 0; i
< str
.length(); i
++) {char ch
= str
.charAt(i
);if(map
.containsKey(ch
)){Integer value
= map
.get(ch
);map
.put(ch
,value
+1);}else {map
.put(ch
,1);}}Set
<Map
.Entry
<Character, Integer>> entries
= map
.entrySet();for (Map
.Entry
<Character, Integer> entry
: entries
) {System
.out
.print(entry
.getKey()+"("+entry
.getValue()+")"+" ");}System
.out
.println();}
}打印結(jié)果:
-----------------------------------------------------------------
請輸入字符串
asdagfasfas
a(4) d(1) f(2) g(1) s(3)
使用HashMap集合存儲Student對象作為鍵,學(xué)生的家庭住址作為值
要求:要求學(xué)生的姓名和年齡不能重復(fù)
使用TreeMap集合存儲Student對象作為鍵,學(xué)生的家庭住址作為值
要求:先按照年齡進(jìn)行排序,再按照姓名進(jìn)行排序
測試類:
public class Demo3 {public static void main(String
[] args
) {HashMap
<Student, String> hashMap
= new HashMap<>();hashMap
.put(new Student("張三",20),"武漢");hashMap
.put(new Student("李四",21),"孝感");hashMap
.put(new Student("王五",20),"武漢");hashMap
.put(new Student("張三",22),"安陸");hashMap
.put(new Student("張三",20),"漢川");Set
<Map
.Entry
<Student, String>> entries
= hashMap
.entrySet();for (Map
.Entry
<Student, String> entry
: entries
) {System
.out
.println(entry
.getKey()+"..."+entry
.getValue());}System
.out
.println("----------------------");TreeMap
<Student, String> treeMap
= new TreeMap<>();treeMap
.put(new Student("zhangsan",20),"武漢");treeMap
.put(new Student("lisi",21),"孝感");treeMap
.put(new Student("wangwu",20),"武漢");treeMap
.put(new Student("zhangsan",22),"安陸");treeMap
.put(new Student("zhangsan",20),"漢川");Set
<Student> keys
= treeMap
.keySet();for (Student key
: keys
) {String value
= treeMap
.get(key
);System
.out
.println(key
+"..."+value
);}}
}打印結(jié)果:
---------------------------------------------------------------
Student
{name
='王五', age
=20}...武漢
Student
{name
='張三', age
=22}...安陸
Student
{name
='張三', age
=20}...漢川
Student
{name
='李四', age
=21}...孝感
----------------------
Student
{name
='wangwu', age
=20}...武漢
Student
{name
='zhangsan', age
=20}...漢川
Student
{name
='lisi', age
=21}...孝感
Student
{name
='zhangsan', age
=22}...安陸
學(xué)生類
public class Student implements Comparable<Student> {private String name
;private int age
;public Student(String name
, int age
) {this.name
= name
;this.age
= age
;}public Student() {}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
;}@Overridepublic String
toString() {return "Student{" +"name='" + name
+ '\'' +", age=" + age
+'}';}@Overridepublic boolean equals(Object o
) {if (this == o
) return true;if (o
== null
|| getClass() != o
.getClass()) return false;Student student
= (Student
) o
;if (age
!= student
.age
) return false;return name
!= null
? name
.equals(student
.name
) : student
.name
== null
;}@Overridepublic int hashCode() {int result
= name
!= null
? name
.hashCode() : 0;result
= 31 * result
+ age
;return result
;}@Overridepublic int compareTo(Student o
) {int result
=this.age
-o
.age
;result
= result
== 0 ? this.getName().compareTo(o
.getName()) : result
;return result
;}
}
總結(jié)
以上是生活随笔為你收集整理的Map集合相关应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。