【问题标题】:How to access particular element in list in java如何在java中访问列表中的特定元素
【发布时间】:2017-04-14 03:39:21
【问题描述】:

我正在循环一个列表以从列表数组中获取特定的 id:

这是我正在循环的列表:

for(int i =0 ;i<listOfIds.size();i++) {
    System.out.println("list of post_ids " + listOfIds.get(i));
}

循环后的输出是:

list of post_ids Model: com.soul.seeker.models.PostsCategories, table: 'posts_categories', attributes: {post_id=184}
list of post_ids Model: com.soul.seeker.models.PostsCategories, table: 'posts_categories', attributes: {post_id=185}

现在我想访问特定元素,即attributes: {post_id=185}。我该怎么做?

更新:类 List 的类型为 LazyList,来自 http://javalite.github.io/activejdbc/snapshot/

【问题讨论】:

  • 列表中的每个元素是什么类?该类有哪些用于检索属性的方法?
  • 列表的签名是什么,该对象的结构是什么
  • 我询问了列表中元素的类别,而不是列表本身。你还没有回答。这个问题是关于如何从对象本身而不是从列表中提取一些东西。

标签: java activejdbc javalite


【解决方案1】:

我有一个想法,使用您想要的条件在循环中创建新对象,并在您想要的对象与列表中的对象之间使用等于,如下所示:

for(int i =0 ;i<listOfIds.size();i++) {
     my_object obj = new my_object ();
     obj.(set criteria you want )
     if(listOfIds.get(i).equals(obj)){
       "you got it";
     }
    System.out.println("list of post_ids " + listOfIds.get(i));
 }

【讨论】:

  • 像这样的东西实际上适用于 OP 的可能性非常小。但由于他/她仍然没有告诉我们有关列表中的对象的任何信息,我们还真的无法确定。
  • 更新了列表类型的问题
【解决方案2】:

由于您在 ActiveJDBC 模型上进行操作,您可以:

  PostsCategories c;   
  for(int i =0 ;i<listOfIds.size();i++) {
       if(listOfIds.get(i).get("post_id").equals(185))}
          c = listOfIds.get(i); 
          System.out.println("Found it: " + c);
       }
  }

【讨论】:

  • 我有[185,186,187....]。在下面检查我的答案。你有什么推荐的?
  • 您的问题和答案没有提供太多的背景信息。我不得不猜测您正在使用日志中的 ActiveJDBC 模型。你能添加更多关于你想要做什么的信息吗?
【解决方案3】:

实际上 API 上有方法。我认为这是正常的List。所以无论如何,我是这样想的:

List postIds = listOfIds.collect("post_id");
String query2 = "Select * from post Where id IN (";
for(int i =0 ; i < postIds.size(); i++) {
  query2 = query2 + "'" +postIds.get(i) + "'" + ",";
}
query2 = query2.substring(0, query2.length()-1);
query2 = query2 + ")";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    相关资源
    最近更新 更多