更新時(shí)間:2022-11-10 10:42:22 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1861次
1.創(chuàng)建一個(gè)HashMap對(duì)象,并在其中添加一些學(xué)員的姓名和他們的分?jǐn)?shù):張三,90分,李四,88分。然后從HashMap對(duì)象獲取這兩個(gè)人的成績并顯示出來,接著把張三的成績改為99分,再把他們的成績顯示出來。
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
public class First {
public static void main(String[] args) {
HashMap<String, String> hp =new HashMap<String, String>();
hp.put("張三", "90分");
hp.put("李四", "88分");
Collection<String> con = hp.values();
Iterator<String> it1 = con.iterator();
while(it1.hasNext()) {
System.out.println(it1.next());
}
hp.replace("張三", "99分");
Collection<String> con1 = hp.values();
Iterator<String> it2 = con.iterator();
while(it2.hasNext()) {
System.out.println(it2.next());
}
}
}
2.定義一個(gè)ArrayList集合類,然后放入多個(gè)字符串,排序,反序(Collections 集合工具類中包含了排序等功能)
用Iterator遍歷集合
import java.util.*;
public class Second {
public static void main(String[] args) {
System.out.println("請(qǐng)隨意輸入一堆字符串:(輸入0則結(jié)束)");
Scanner sc = new Scanner(System.in);
ArrayList<String> list = new ArrayList<String>();
for(;;) {
String s = sc.next();
if(s.equals("0")) {
break;
}
list.add(s);
}
Collections.sort(list);
Iterator iterator = list.iterator();
System.out.println("排序后");
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
iterator = list.iterator();
System.out.println("反序后");
Collections.reverse(list);
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
sc.close();
}
}
3.定義一個(gè)Map集合,key是Integer類型,value是Cat類型,然后使用values()方法遍歷每個(gè)元素,調(diào)用每個(gè)元素的叫的方法(定義Cat類,起碼包含一個(gè)Cry()方法,建議結(jié)合泛型操作)
Cat類
public class Cat {
public void Cry() {
System.out.println("貓喵喵~~");
}
}
測試方法
import java.util.*;
public class Third {
public static void main(String[] args) {
Map<Integer, Cat> map = new HashMap<Integer, Cat>();
map.put(new Integer(1), new Cat());
map.put(new Integer(2), new Cat());
map.put(new Integer(3), new Cat());
map.put(new Integer(4), new Cat());
map.put(new Integer(5), new Cat());
Collection coll = map.values();
Iterator iterator = coll.iterator();
while (iterator.hasNext()) {
Cat cat = (Cat) iterator.next();
cat.Cry();
}
}
}
4.定義一個(gè)HashSet集合,只能添加Student類型的對(duì)象。往集合內(nèi)添加多個(gè)元素,分別使用foreach語句,Iterator方式循環(huán)
Student類
public class Student {
String name;
int age;
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
}
測試類
import java.util.HashSet;
import java.util.Iterator;
public class Fourth {
public static void main(String[] args) {
HashSet<Student> hs = new HashSet<Student>();
hs.add(new Student("張三",20));
hs.add(new Student("李四",19));
hs.add(new Student("王五",16));
hs.add(new Student("張大",18));
hs.add(new Student("李二",20));
Iterator<Student> iterator = hs.iterator();
System.out.println("Iterator輸出");
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
System.out.println("*************************************");
System.out.println("for-each輸出");
for(Student s : hs) {
System.out.println(s);
}
}
}
5.**隨機(jī)生成不重復(fù)的26個(gè)小寫字母,生成26個(gè)后就停止生成。
import java.util.*;
public class Fifth {
/**
* @Description:
* @author LYL
* @date 2021-01-10 12:48:38
*/
public static void main(String[] args) {
HashSet hs = new HashSet();
Random r = new Random();
for(;;) {
int i = (r.nextInt(122-97+1)+97);
char ch = (char)i;
if(hs.size()>=26) {
break;
}
hs.add(ch);
}
Iterator iterator = hs.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
6.**隨機(jī)生成100個(gè)小寫字母,同時(shí)統(tǒng)計(jì)每個(gè)字母生成了多少個(gè)
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
public class Sixth {
public static void main(String[] args) {
ArrayList list = new ArrayList();
for(int i=0;i<100;i++) {
int x = 97+(int)(Math.random()*26);
list.add((char)x);
}
HashMap map = new HashMap();
for(int i=0;i<list.size();i++) {
if(map.containsKey(list.get(i))) {
int times = (int)(map.get(list.get(i)))+1;
map.put(list.get(i), times);
}else {
map.put(list.get(i),1);
}
}
Iterator it = map.entrySet().iterator();
while(it.hasNext()){
Entry e = (Entry) it.next();
System.out.println("字母:"+e.getKey()+"次數(shù):"+e.getValue());
}
}
}
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743