我position
等于显示哪个问题。我想在一个arraylist中添加一个等于position
的int。然后我想检查并查看该arraylist是否在其中包含该int以防止再次添加该int。使用以下代码,它会多次添加position
int。
if(correctQuestions.size() == 0){
correctQuestions.add(position);
}else if(correctQuestions.size() > 0){
if(!Arrays.asList(correctQuestions).contains(position)){
correctQuestions.add(position);
}
}
如果position = 0;
,那么每次运行此代码都会不断向我的arraylist添加position
,无论其中是否包含0。例如,运行此代码3次将导致我的arraylist输出[0,0,0]时它应该只允许它添加0次。
答案 0 :(得分:0)
你必须这样写:
{
"Version": "2008-10-17",
"Id": "Backup-Assets",
"Statement": [
{
"Sid": "Allow PUT from Account-A Lambda function",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNT-A-NUMBER-HERE:root"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::backup-assets.myapp.com",
"arn:aws:s3:::backup-assets.myapp.com/*"
]
}
]
}
答案 1 :(得分:0)
试试这个:
if(correctQuestions.indexOf(position) < 0) {//this will return -1 if object not found in the arraylist
correctQuestions.add(position);
}
答案 2 :(得分:0)
您的Arraylist的最大索引会将其视为变量 size 。 所以你可以编写条件逻辑:
if(size!=0 && position < size ){
correctQuestions.add(position);
}
答案 3 :(得分:0)
方法arrayList.size()返回列表中的项目数 - 因此,如果索引大于或等于size(),则它不存在。
if(correctQuestions.size() > position){
correctQuestions.add(position);
}
if you want to check if position already present in arraylist if `correctQuestions.get( index );` in try block shows that if no key present it will throw in catch
try {
correctQuestions.get( index );
} catch ( IndexOutOfBoundsException e ) {
correctQuestions.add( index, new Object() );
}