一直提示錯誤
一直提示 The type KeyStore.Entry is not generic; it cannot be parameterized with arguments
怎么回事,>
,>
package com.imooc.collection;
import java.security.KeyStore.Entry;
import java.util.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;
//import java.util.*;
public class MapTest {
private static final int String = 0;
/**
* 用來承裝學(xué)生類型對象
*/
public Map<String,Student> students;
/**
* 在構(gòu)造器中初始化students屬性
*/
public MapTest(){
this.students = new HashMap<String, Student>();
}
/**
?* 測試添加:輸入學(xué)生ID,判斷是否被占用
?* 若未被占用,則輸入姓名,創(chuàng)建新學(xué)生對象,并且
?* 添加到students中
?* @param args
?*/
public void testPut(){
//創(chuàng)建一個Scanner對象,用來獲取輸入的學(xué)生ID和姓名
Scanner console = new Scanner(System.in);
int i = 0;
while(i<3){
System.out.println("請輸入學(xué)生ID:");
String ID = console.next();
//判斷該ID是否被占用
Student st = students.get(ID);
if(st==null){
//提示輸入學(xué)生姓名
System.out.println("請輸入學(xué)生姓名:");
String name = console.next();
//創(chuàng)建新的學(xué)生對象
Student newStudent = new Student(ID,name);
//通過調(diào)用students的put方法,添加ID-學(xué)生映射
students.put(ID, newStudent);
System.out.println("成功添加學(xué)生:" + students.get(ID).name);
i++;
}else{
System.out.println("該學(xué)生ID已被占用!");
continue;
}
}
}
/**
* 測試Map的keySet方法
* @param args
*/
public void testKeySet(){
//通過keySet方法,返回Map中的所有“鍵”的Set集合
Set<String> keySet = students.keySet();
//取得students的容量
System.out.println("總共有:" + students.size() + "個學(xué)生!");
//遍歷keySet,取得每一個鍵,再調(diào)用get方法取得每個鍵對應(yīng)的value
for(String stuId:keySet){
Student st= students.get(stuId);
if(st!=null){
System.out.println("學(xué)生:"+st.name);
}
}
}
/**
* 測試如何刪除Map中已有的映射
* @param args
*/
public void testRemove(){
//獲取從鍵盤上輸入的學(xué)生ID
Scanner console = new Scanner(System.in);
while(true){
//提示用戶輸入待刪除的學(xué)生ID
System.out.println("請輸入要刪除的學(xué)生ID");
String ID = console.next();
//判斷ID是否有對應(yīng)學(xué)生對象
Student st = students.get(ID);
if(st == null){
//提示輸入ID不存在
System.out.println("該ID不存在!");
continue;
}
students.remove(ID);
System.out.println("成功刪除學(xué)生:"+st.name);
break;
}
}
/**
* 通過entrySet方法來遍歷Map
* @param args
*/
public void testEntrySet() {
// 通過entrySet方法,返回Map中的所有鍵值對
Set<Entry<String, Student>> entrySet = students.entrySet();
for (Entry<String, Student> entry : entrySet) {
System.out.println("取得鍵:" + entry.getKey());
System.out.println("對應(yīng)的值為:" + entry.getValue().name);
}
}
? ?public static void main(String[] args) {
? MapTest mt = new MapTest();
? mt.testPut();
? mt.testKeySet();
? mt.testRemove();
? mt.testEntrySet();
}
}
,>
2016-01-08
同意樓上,引入了錯誤的包
2016-01-02
自動添加包時你選錯了一個包,第一個包是錯的,這是所要用到的所有包:
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;
2015-12-23
Set<Entry<String, Student>> entrySet = students.entrySet();應(yīng)該改為
Set<Entry<String, Student>> entrySet = new students.entrySet();