12
返回列表 发新帖
楼主: realife
跳转到指定楼层
上一主题 下一主题
收起左侧

租房电面

🔗
 楼主| realife 2019-5-28 11:54:24 | 只看该作者
全局:
sifangyou1 发表于 2019-5-28 10:23
加分!
楼主二次店面过了没?能用java iterator.remove()么?

没过,存iterator应该不work。
回复

使用道具 举报

🔗
user123456 2019-5-29 03:50:55 | 只看该作者
全局:
我的感觉是remove需要用iterator.remove这个API?不知道下面这个实现有什么问题吗?

  1. public class Vector2D {
  2.     private Iterator<List<Integer>> i;
  3.     private Iterator<Integer> j;
  4.     private Iterator<Integer> removej;
  5.    
  6.     public Vector2D(List<List<Integer>> v) {
  7.         i = v.iterator();
  8.     }

  9.     public int next() {
  10.         if (hasNext()) {
  11.             removej = j;
  12.             return j.next();
  13.         }
  14.         return -1;
  15.     }

  16.     public boolean hasNext() {
  17.         while (i.hasNext() && (j == null || !j.hasNext())) {
  18.             j = i.next().iterator();
  19.         }
  20.         return j != null && j.hasNext();
  21.     }
  22.    
  23.     public void remove() {
  24.         if (removej != null) {
  25.             removej.remove();
  26.         }
  27.     }
  28. }
复制代码
回复

使用道具 举报

🔗
dzhao11 2019-6-19 05:38:00 | 只看该作者
全局:
我有点糊涂。这明明可以用iterator.remove()啊。iterator.remove()就是remove last next()的value。
回复

使用道具 举报

🔗
dzhao11 2019-6-19 05:48:23 | 只看该作者
全局:
user123456 发表于 2019-5-29 03:50
我的感觉是remove需要用iterator.remove这个API?不知道下面这个实现有什么问题吗?

[mw_shl_code=java, ...

removej=j应该移到if(hasNext())上边。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表