使用简单列表执行此操作的最有效方法是使用简单的线性时间搜索,如
SomeObject winner;
float maxMass = 0.0f; // Assuming all masses are at least zero!
foreach(SomeObject o in objects) {
if(o.mass > maxMass) {
maxMass = o.mass;
winner = o;
}
}
Run Code Online (Sandbox Code Playgroud)
如果这是您打算定期进行的操作,将对象存储在按质量分类的顺序中和/或使用更合适的存储容器可能是有益的.