在Java中添加到数组列表

时间:2018-11-16 16:50:21

标签: java

我正在尝试将项目(用户已查看的页面)添加到数组列表中,以便随后可以将其他页面与其进行比较。我的理论是我需要增加页面浏览量变量的增量,但是我只想为一个会话每张图片增加一次变量。我不希望有人可以刷新垃圾邮件并在图片上获得更多观看次数。

但是,目前,图片已添加到阵列列表中,但是当您转到另一张图片时会丢失。因此,计数始终在增加。

ArrayList<String> listOfObjects = new ArrayList<String>();
String counter = (String) session.getAttribute("counter");
listOfObjects.add(counter);
String image_id = (String) session.getAttribute("pictureName");

if (Utilities.isFirstVisit(listOfObjects, image_id) == true) {
    Utilities.IncreaseCount(out, pictureName);
    out.println("its worked");
}

要添加到数组中的实用程序方法

public static boolean isFirstVisit(ArrayList<String> track, String image_id)
{
    System.out.println(track_of_first_visits);
    System.out.println(image_id);

    if (track.contains(image_id))
        return false;
    else {
        track.add(image_id);
        return true;
    }
}

1 个答案:

答案 0 :(得分:0)

我对您的要求感到困惑。但我可以告诉您的一件事是,您在执行操作时会将“计数器”放入listOfObjects:

Select TableA.*
case when x.ForeignKey is null then 0 else 1 end ExistInOtherTable
From TableA
left outer join 
(
    select ForeignKey from TableB 

    union --no all, so avoids duplicates / ensures at most 1 match

    select ForeignKey from TableC 
) x
on x.ForeignKey = TableA.PrimaryKey

但是,您稍后会检查image_id是否在该列表中,除非它们恰好是相同的数字,否则它将不会存在:

listOfObjects.add(counter);

如果您澄清自己的问题更好,那就太好了。