java - 基于对象属性的对象数组的子集/索引

标签 java arrays collections

假设我有一个像下面的 dummies[] 这样的对象数组。我想找到其属性 a == 5a > 3 等的数组对象的索引。

class Dummy{
  int a;
  int b;
  public Dummy(int a,int b){
    this.a=a;
    this.b=b;
  }
}
public class CollectionTest {
  public static void main(String[] args) {
       //Create a list of objects
      Dummy[] dummies=new Dummy[10];
      for(int i=0;i<10;i++){
          dummies[i]=new Dummy(i,i*i);
      }

      //Get the index of array where a==5
      //??????????????????????????????? -- WHAT'S BEST to go in here? 
  }
}

除了迭代数组对象并检查条件之外,还有其他方法吗?使用ArrayList或其他类型的Collection在这里有帮助吗?

最佳答案

// Example looking for a==5
// index will be -1 if not found
int index = -1;
for( int i=0; i<dummies.length; i++ ) {
   if( dummies[i].a == 5 ) {
      index = i;
      break;
   }
}

关于java - 基于对象属性的对象数组的子集/索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16047010/

相关文章:

java - 枚举还是类?

java - 当标识符名称中有空格时如何使用 GSON 进行解析

java - 如何覆盖 Jar 中定义的资源文件?

javascript排序混合字符串和空值的数组

java - 如何调用 javascript 函数并获取它返回的 html 代码,Java,Android

Javascript:访问数组中作为对象属性的给定索引

python - 我应该使用什么索引将 numpy 数组转换为 pandas 数据框?

c# - ArrayList 二进制搜索

java - 如何将 Stream<List<Long>> flatMapToLong?

java - 从 ArrayList 中删除偶数