【问题标题】:find the 1st occurrence without using loop在不使用循环的情况下找到第一次出现
【发布时间】:2013-06-25 20:58:46
【问题描述】:

我有一个名为 Store 的对象类,它有一个属性“year”:

public class Store{
     public int year;
     ...
}

然后,在另一个课程中,我得到了一个 Store 列表:

List<Store> stores = getAllStores();

我想在不使用for 循环或while 循环的情况下从列表中获取第一次出现的商店,其年份是2002。可能吗?

【问题讨论】:

  • 该方法会返回有序列表吗?
  • @EhsanUllah:LINQ 不是 .Net 的东西吗?
  • 你关注的是性能还是语法?
  • @basar 如果不是语法,那么担心会惹到我们;p
  • return new Store(){year=2012} 怎么样 :)

标签: java jakarta-ee


【解决方案1】:

迭代是人,递归是神

【讨论】:

  • +1 @Thihara 允许自己在 StackOverflow 上微笑,这是不允许的。是吗 ? ;-)
  • @HpTerm 和 @Thihara 谢谢,这比写出自定义的 ListIterator &lt; Store &gt; 实现更容易实现 next() 递归
  • 你让我的一天也因为显而易见的而 +1。
  • 问自己,这样的答案你会投多少票。
  • @HpTerm 不问一个人的回答得到多少赞成票,而是问它是否会被接受。 (ps:在业力帐户上,我是唯一赞成这个问题的人。只是说......;)
【解决方案2】:

我认为您想要类似 ReturnTop 的东西,其中年份是 2002 年,其中有两个基本条件。

对象在添加到列表之前是否已排序? 是否有任何模式可以唯一标识 2002 或者您是否考虑过 hashmap? 您是否考虑过堆栈或队列,其中 2002 是第一个或最后一个添加的?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 2011-04-22
    相关资源
    最近更新 更多