皮皮学,免费搜题
登录
搜题
【简答题】
某软件公司欲基于迭代器模式开发一套用于遍历数组元素的类库,其基本结构如下图 所示: 在图 中, Collection 类是抽象聚合类, ConcreteCollection 类是具体聚合类, Iterator 类是抽象迭代器类, ConcreteIterator 类是具体迭代器类。在聚合类中提供了创建迭代器的工厂方法 createIterator() 和数组的 Setter 和 Getter 方法,在迭代器中提供了用于遍历数组元素的相关方法,如 first() 、 last() 、 next() 等。 【 Java 代码】 interface Collection { public void setArray(Object objs[]); // 设置数组 public Object[] getArray(); // 获取数组 public Iterator createIterator(); // 创建迭代器 } interface Iterator { public void first(); // 索引指向第一个元素 public void last(); // 索引指向最后一个元素 public void next(); // 索引指向下一个元素 public void previous(); // 索引指向上一个元素 public boolean isLast(); // 判断是否最后一个元素 public boolean isFirst(); // 判断是否第一个元素 public Object getItem(); // 获取当前索引所指向的元素 } class ConcreteCollection implements Collection { private Object[] objs; public void setArray(Object objs[]) { this.objs = objs; } public Object[] getArray() { return this.objs; } public Iterator createIterator() { return (1) ; } new ConcreteIterator(this); } class ConcreteIterator implements Iterator { private Object[] objs; private int index=0; // 索引变量,初值为 0 public ConcreteIterator(ConcreteCollection collection) { this.objs = (2) ; }collection.getArray() public void first() { index = 0; } public void last() { (3) ; }index = objs.length-1; public void next() { if(index =0) { (5) index-- ; } } public boolean isLast() { (6) return index == objs.length - 1 ; } public boolean isFirst() { (7) return index == 0 ; } public Object getItem() { return objs[index]; } } class Test { public static void main(String args[]) { Collection collection; collection = new ConcreteCollection(); Object[] objs={" 北京 "," 上海 "," 广州 "," 深圳 "," 长沙 "}; collection.setArray(objs); Iterator i = (8) new ConcreteIterator(collection) ; i.last(); // 逆向遍历所有元素 while( (9) isFirst() ) { System.out.println(i.getItem().toString()); (10) i.previous() ; } } }
拍照语音搜题,微信中搜索"皮皮学"使用
参考答案:
参考解析:
知识点:
.
..
皮皮学刷刷变学霸
举一反三
【多选题】选择细分市场时,避免与大公司竞争的原因是大公司可
A.
有:
B.
资金优势
C.
品牌优势
D.
管理优势
E.
渠道优势
【判断题】不健康心理就是异常心理
A.
正确
B.
错误
【单选题】When was the movie, The High Tower, released?
A.
1899.
B.
1922
C.
1925.
D.
After Dick died.
【单选题】以下哪项不是戏剧的功能?
A.
满足审美
B.
娱乐
C.
教育
D.
生存保障
【判断题】1987年以来,每两年召开一次全国高分子学术论文报告年会。
A.
正确
B.
错误
【多选题】选择细分市场时,避免与大公司竞争的原因是大公司可能具有:
A.
资金优势
B.
品牌优势
C.
管理优势
D.
渠道优势
【简答题】The concept “success” may 1 quite different things to different people. If you want to succeed in life, you must first 2 success specifically. The following are some key factors that may influence you...
【判断题】压力的法定计量单位是:兆帕MPa。()
A.
正确
B.
错误
【简答题】For others, the key to meaning is the second pillar: ____2_____ (目标,目的).
【简答题】B. Listen to the dialogue again and fill in the key words or phrases suggesting the interviewer’s major concern when asking the questions. Question 1 Question 2 Question 3 Question 4 A. The English la...
相关题目: