import java.util.Iterator;
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.AbstractSet;
public class Entry_1 implements Map.Entry<Integer,String>{
static int index;
public Entry_1(int i){ index=i;}
public Integer getKey(){return index;}
public String getValue(){return "加油!";}
public boolean equals(Object o){
System.out.println("Must invok here?");
throw new UnsupportedOperationException();
}
public String setValue(String s){
throw new UnsupportedOperationException();
}
//返回内部类EntrySets
public static EntrySets getf(int i) {
return new EntrySets(i);
}
//定义内部类EntrySets
static class EntrySets extends AbstractSet<Map.Entry<Integer, String>>{
int size;
public EntrySets(int i){
size=i;
}
public int size() {
return 0;
}
int count=0;//为什么这里改成小于等于0的数时有输出,把count改成大于0时输出都是空的啊?
//内部类迭代器方法
public Iterator<Map.Entry<Integer, String>> iterator() {
return new Iterator<Map.Entry<Integer, String>>(){
public boolean hasNext(){
return count<=size;
}
public Map.Entry<Integer, String> next(){
////////////////////////System.out.println(size);
count++;
return new Entry_1(count);
}
public void remove(){
}
};
}
}//////////////////////////////////////EntrySets
@SuppressWarnings("serial")
static Map<Integer,String> f(int in){
return new HashMap<Integer,String>(){
public Set<Map.Entry<Integer,String>> entrySet(){
return getf(index);
}
};
}
public static void main(String[]args){
for(int i:new Integer[]{5,10,2,3,4,5,6,7,8,}){
System.out.println(f(i));
}
}
}
/////想不通啊。
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.AbstractSet;
public class Entry_1 implements Map.Entry<Integer,String>{
static int index;
public Entry_1(int i){ index=i;}
public Integer getKey(){return index;}
public String getValue(){return "加油!";}
public boolean equals(Object o){
System.out.println("Must invok here?");
throw new UnsupportedOperationException();
}
public String setValue(String s){
throw new UnsupportedOperationException();
}
//返回内部类EntrySets
public static EntrySets getf(int i) {
return new EntrySets(i);
}
//定义内部类EntrySets
static class EntrySets extends AbstractSet<Map.Entry<Integer, String>>{
int size;
public EntrySets(int i){
size=i;
}
public int size() {
return 0;
}
int count=0;//为什么这里改成小于等于0的数时有输出,把count改成大于0时输出都是空的啊?
//内部类迭代器方法
public Iterator<Map.Entry<Integer, String>> iterator() {
return new Iterator<Map.Entry<Integer, String>>(){
public boolean hasNext(){
return count<=size;
}
public Map.Entry<Integer, String> next(){
////////////////////////System.out.println(size);
count++;
return new Entry_1(count);
}
public void remove(){
}
};
}
}//////////////////////////////////////EntrySets
@SuppressWarnings("serial")
static Map<Integer,String> f(int in){
return new HashMap<Integer,String>(){
public Set<Map.Entry<Integer,String>> entrySet(){
return getf(index);
}
};
}
public static void main(String[]args){
for(int i:new Integer[]{5,10,2,3,4,5,6,7,8,}){
System.out.println(f(i));
}
}
}
/////想不通啊。
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.AbstractSet;
public class Entry_1 implements Map.Entry<Integer,String>{
static int index;
public Entry_1(int i){ index=i;}
public Integer getKey(){return index;}
public String getValue(){return "加油!";}
public boolean equals(Object o){
System.out.println("Must invok here?");
throw new UnsupportedOperationException();
}
public String setValue(String s){
throw new UnsupportedOperationException();
}
//返回内部类EntrySets
public static EntrySets getf(int i) {
return new EntrySets(i);
}
//定义内部类EntrySets
static class EntrySets extends AbstractSet<Map.Entry<Integer, String>>{
int size;
public EntrySets(int i){
size=i;
}
public int size() {
return 0;
}
int count=0;
//内部类迭代器方法
public Iterator<Map.Entry<Integer, String>> iterator() {
return new Iterator<Map.Entry<Integer, String>>(){
public boolean hasNext(){
return count<=size;
}
public Map.Entry<Integer, String> next(){
////////////////////////System.out.println(size);
count++;
return new Entry_1(count);
}
public void remove(){
}
};
}
}//////////////////////////////////////EntrySets
@SuppressWarnings("serial")
static Map<Integer,String> f(int in){
return new HashMap<Integer,String>(){
public Set<Map.Entry<Integer,String>> entrySet(){
return getf(index);
}
};
}
public static void main(String[]args){
for(int i:new Integer[]{5,10,2,3,4,5,6,7,8,}){
System.out.println(f(i));
}
}
}
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.AbstractSet;
public class Entry_1 implements Map.Entry<Integer,String>{
static int index;
public Entry_1(int i){ index=i;}
public Integer getKey(){return index;}
public String getValue(){return "加油!";}
public boolean equals(Object o){
System.out.println("Must invok here?");
throw new UnsupportedOperationException();
}
public String setValue(String s){
throw new UnsupportedOperationException();
}
//返回内部类EntrySets
public static EntrySets getf(int i) {
return new EntrySets(i);
}
//定义内部类EntrySets
static class EntrySets extends AbstractSet<Map.Entry<Integer, String>>{
int size;
public EntrySets(int i){
size=i;
}
public int size() {
return 0;
}
int count=0;
//内部类迭代器方法
public Iterator<Map.Entry<Integer, String>> iterator() {
return new Iterator<Map.Entry<Integer, String>>(){
public boolean hasNext(){
return count<=size;
}
public Map.Entry<Integer, String> next(){
////////////////////////System.out.println(size);
count++;
return new Entry_1(count);
}
public void remove(){
}
};
}
}//////////////////////////////////////EntrySets
@SuppressWarnings("serial")
static Map<Integer,String> f(int in){
return new HashMap<Integer,String>(){
public Set<Map.Entry<Integer,String>> entrySet(){
return getf(index);
}
};
}
public static void main(String[]args){
for(int i:new Integer[]{5,10,2,3,4,5,6,7,8,}){
System.out.println(f(i));
}
}
}
中间那里,代码为什么发不出格式的,第一次发帖,不好意思啊,
static Map<Integer,String> f(int in){
return new HashMap<Integer,String>(){
public Set<Map.Entry<Integer,String>> entrySet(){
return getf(index);
}
};
你把count改成大于0,hashNext将返回false所以不在对Map进行迭代,当然不会有属性值输出。
如果你把count改成大于0,也把index改成相应的数,就可以了。另外,发帖的时候,文章内容右侧的工具栏里,有个图片上有"#"符号,你点击,选择语言,然后把代码嵌里就可以发代码出来了。