import java.util.*;
class Gerbil { static int gerbilNumbel=0;
int p;
public Gerbil()
{
p=++gerbilNumbel;
}
void hop(Iterator<Gerbil> p1)
{
while(p1.hasNext())
{
p1.next().print1();
}
}
void print1()
{
System.out.println(p+" is jumpping");
}
public static void main(String []args)
{
Map<String,Gerbil> gerbil=new HashMap<String,Gerbil>();
gerbil.put("SB1",new Gerbil());
gerbil.put("SB2",new Gerbil());
gerbil.put("SB3",new Gerbil());
gerbil.put("SB4",new Gerbil());
Gerbil px=new Gerbil();
Set key1=gerbil.keySet();
Iterator<Gerbil> sp= key1.iterator();
{
System.out.println(gerbil.containsKey(sp.next()));
System.out.println();
}
gerbil.hop(sp);
}
}那个题目的要求是,使用map,将键和值关联起来, 为keySet获取Iterator,同它遍历map,并且针对键来查询gerbil,并且打印出键,最后用gerbil来执行hop。我将 gerbil.put("SB1",new Gerbil());
gerbil.put("SB2",new Gerbil());
gerbil.put("SB3",new Gerbil());
gerbil.put("SB4",new Gerbil()); 关联了。获取iterator:
Set key1=gerbil.keySet();
Iterator<Gerbil> sp= key1.iterator();键来查询gerbil:
System.out.println(gerbil.containsKey(sp.next()));这里出现了一个非常尴尬的问题,可能是我获取的方式不对也可能是我的思路错误,那就是当我使用sp.next()来查询是否匹配时,却无法再次输出了。(-o-!)因为如果再用一次next(),那么就变成下一个值了。而且还有一个问题,那就是用gerbil来执行hop:
void hop(Iterator<Gerbil> p1)
{
while(p1.hasNext())
{
p1.next().print1();
}
}
现在hop 需要一个gerbil类的iterator,但是我刚才利用keyget创建的iterator:
Set key1=gerbil.keySet();
Iterator<Gerbil> sp= key1.iterator();
虽然也是一个gerbil类的iterator,但里面保存的却是key,那么我该怎么做来使用gerbil来调用hop呢?????
·····汗·····
class Gerbil { static int gerbilNumbel=0;
int p;
public Gerbil()
{
p=++gerbilNumbel;
}
void hop(Iterator<Gerbil> p1)
{
while(p1.hasNext())
{
p1.next().print1();
}
}
void print1()
{
System.out.println(p+" is jumpping");
}
public static void main(String []args)
{
Map<String,Gerbil> gerbil=new HashMap<String,Gerbil>();
gerbil.put("SB1",new Gerbil());
gerbil.put("SB2",new Gerbil());
gerbil.put("SB3",new Gerbil());
gerbil.put("SB4",new Gerbil());
Gerbil px=new Gerbil();
Set key1=gerbil.keySet();
Iterator<Gerbil> sp= key1.iterator();
{
System.out.println(gerbil.containsKey(sp.next()));
System.out.println();
}
gerbil.hop(sp);
}
}那个题目的要求是,使用map,将键和值关联起来, 为keySet获取Iterator,同它遍历map,并且针对键来查询gerbil,并且打印出键,最后用gerbil来执行hop。我将 gerbil.put("SB1",new Gerbil());
gerbil.put("SB2",new Gerbil());
gerbil.put("SB3",new Gerbil());
gerbil.put("SB4",new Gerbil()); 关联了。获取iterator:
Set key1=gerbil.keySet();
Iterator<Gerbil> sp= key1.iterator();键来查询gerbil:
System.out.println(gerbil.containsKey(sp.next()));这里出现了一个非常尴尬的问题,可能是我获取的方式不对也可能是我的思路错误,那就是当我使用sp.next()来查询是否匹配时,却无法再次输出了。(-o-!)因为如果再用一次next(),那么就变成下一个值了。而且还有一个问题,那就是用gerbil来执行hop:
void hop(Iterator<Gerbil> p1)
{
while(p1.hasNext())
{
p1.next().print1();
}
}
现在hop 需要一个gerbil类的iterator,但是我刚才利用keyget创建的iterator:
Set key1=gerbil.keySet();
Iterator<Gerbil> sp= key1.iterator();
虽然也是一个gerbil类的iterator,但里面保存的却是key,那么我该怎么做来使用gerbil来调用hop呢?????
·····汗·····
我现在想输出这个键,像这样:Systems.out.print(sp.next());但是如果我这样做了,实际上输出的就是下一个键了······那么我该怎么做才能又使用这个键来查询是否匹配,又能够用来输出呢?
······我先前试了一种办法就是 Grebil x=sp.next();结果失败了,还试了另一种办法String x=sp.next();汗,结果证明了,抱着侥幸心理的肯定要失败的。又失败了。没办法,只好发求助了······
int p; public Gerbil() {
p = ++gerbilNumbel;
} void hop(Iterator<Gerbil> p1) {
while (p1.hasNext()) {
p1.next().print1(); }
} void print1() {
System.out.println(p + " is jumpping");
} public static void main(String[] args) {
Map<String, Gerbil> gerbil = new HashMap<String, Gerbil>(); gerbil.put("SB1", new Gerbil());
gerbil.put("SB2", new Gerbil());
gerbil.put("SB3", new Gerbil());
gerbil.put("SB4", new Gerbil());
Gerbil px = new Gerbil();
Set key1 = gerbil.keySet();
Iterator<Gerbil> sp = key1.iterator();
{
Gerbil x=sp.next();
System.out.println(gerbil.containsKey(x));
System.out.println(x);
x.hop(sp);
}
}
}
Iterator <Gerbil> sp = key1.iterator(); //key 集合怎么能转换成Gerbil类型呢???
{
Gerbil x = sp.next(); // sp是key的集合,怎么能复制给Gerbil呢???
System.out.println(gerbil.containsKey(x));
System.out.println(x);
x.hop(sp);
}
下面的代码至少也要有一个循环啊:
Iterator <Gerbil> sp = key1.iterator();
{ // 难道不需要while之类的关键字吗???
Gerbil x=sp.next();
System.out.println(gerbil.containsKey(x));
System.out.println(x);
x.hop(sp);
}
后来跑去看api,发现keySet可以返回一个set,虽然里面保存的是键,
于是我就: Set key1=gerbil.keySet(); 先用gerbil调用ketset()获取一个Set,再把这个set赋给一个set 的引用。
变成set以后,就可以iterator了撒·····
于是:Iterator <Gerbil> sp= key1.iterator();我用那个set的引用key1来调用iterator(),来获得一个iterator.```` 汗,如果:Iterator <Gerbil> sp= key1.iterator(); 这一句,key不能丢到一个存放gerbil的iterator里面,那应该丢到哪个里面呢······请指教指教啊。我的思路是因为key里面保存的是gerbil的键嘛,所以要存在《gerbil》里面。可能错了吧。 我再去试一下。
我当时看题目的要求就是要用ketset()来获取iterator嘛。所以我看api,最后得出来的过程就是这个过程。·······
嘿嘿,还有个老兄说我单词打错了汗,我再去试试······
或者,也许这样可以???? map<String> =sp.next();因为我现在要做的就是保存键,来让我使用嘛·····
汗,我再去试试