Java 如何比较Arraylist中的两个数字?

Java 如何比较Arraylist中的两个数字?,java,android,arraylist,Java,Android,Arraylist,我想比较arraylist中的两个数字,但我失败了,任何人都可以帮助我,这是我的代码 MainActivity{ ArrayList<User> users=new ArrayList<User>(); users.clear(); int imgid; int number=0; User use1; List<User> user=Dat

我想比较arraylist中的两个数字,但我失败了,任何人都可以帮助我,这是我的代码

MainActivity{
ArrayList<User> users=new ArrayList<User>();
            users.clear();
            int imgid;
            int number=0;
            User use1;
            List<User> user=DataSupport.findAll(User.class);
            for (User use:user){
                use1=new User();
                use1.setNeednumber(use.getNeednumber());
                use1.setMaterialid(use.getMaterialid());
                users.add(use1);
            }
for(int i=1;i<users.size();i++){
                if(users.get(i-1).getMaterialid()==users.get(i).getMaterialid()){

number=number+users.get(i-1).getNeednumber();
                    Log.d("number",""+number);
                }
            }
main活动{
ArrayList用户=新建ArrayList();
user.clear();
int imgid;
整数=0;
用户使用1;
List user=DataSupport.findAll(user.class);
用于(用户使用:用户){
use1=新用户();
use1.setNeednumber(使用.getNeednumber());
use1.setMaterialid(use.getMaterialid());
users.add(use1);
}
对于(inti=1;i试试这个逻辑

    Integer numberArray[] = { 1, 2, 45, 6, 7, 7, 8, 9, 10, 11, 10, 9, 1 };
    Set<Integer> printed = new HashSet<>();
    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    for (Integer s : Arrays.asList(numberArray)) {
        if (printed.add(s)) // Set.add() also tells if the element was in
                            // the Set!
            System.out
                    .println("element: " + s + ", count: " + Collections.frequency(Arrays.asList(numberArray), s));

        if (Collections.frequency(Arrays.asList(numberArray), s) > 1) {
            map.put(s, Collections.frequency(Arrays.asList(numberArray), s));
        }
    }
    Integer sum = 0;
    for (Map.Entry m : map.entrySet()) {
        System.out.println(m.getKey() + " " + m.getValue());
        sum = sum + ((Integer) m.getKey() * (Integer) m.getValue());
    }
    System.out.println("sum is" + sum);
Integer numberArray[]={1,2,45,6,7,7,8,9,10,11,10,9,1};
Set printed=new HashSet();
Map Map=newhashmap();
for(整数s:Arrays.asList(numberArray)){
if(printed.add(s))//Set.add()还告诉您元素是否在
//布景!
系统输出
.println(“元素:+s+”,计数:+Collections.frequency(Arrays.asList(numberArray),s));
if(Collections.frequency(Arrays.asList(numberArray),s)>1){
map.put(s,Collections.frequency(Arrays.asList(numberraray),s));
}
}
整数和=0;
对于(Map.Entry m:Map.entrySet()){
System.out.println(m.getKey()+“”+m.getValue());
sum=sum+((整数)m.getKey()*(整数)m.getValue());
}
System.out.println(“总和为”+总和);

“但我失败了”和“它不起作用”不是有用的描述。另外,您是否尝试过调试以查看
materialid
的实际值?---即使有多个用户具有相同的材质id,您也只是在比较列表中相邻的用户。这真的是您想要的吗?请参考@Andreas下一票描述网站ting,但是有些东西闻起来像是把关于SO礼仪的话题存储到某人的个人回复中。指导方针是由SO社区创建和支持的,而不是一个用户。也许这些帖子可以放在某个地方的元页面中?