我有一个java列表。
static ArrayList<List> permutationS = new ArrayList<List>();
内部列表是整数的ArrayList。
List<Integer> innerList = new ArrayList<Integer>();
现在我想选择一个innerList,如果它包含一个特定的整数。 我怎样才能做到这一点?
答案 0 :(得分:1)
这样做:
$('#upload_form').submit(function(e)
{
e.preventDefault();
var title = $('#title').val();
var designation = $('#position').val();
var category = $('#category').val();
var azimaData = new FormData(); // create a new FormData..
azimaData.append('name', title);
azimaData.append('designation', designation);
azimaData.append('category', category);
azimaData.append('_token', _csrfToken);
$.ajax({
method: 'POST',
url: link + '/@dashboard@/galleryImage/add_image',
data: azimaData,
//use contentType, processData for sure.
contentType: false,
processData: false,
success: function(msg) {
if(msg.status == success)
{
alert(msg.msg);
}
else
{
alert(msg.msg);
}
},
error: function(xhr) {
console.log(xhr);
}
});
});
答案 1 :(得分:0)
由于我不知道您正在使用哪个Java版本,我建议像
一样循环List<List<Integer>> Permutation_S = new ArrayList<List<Integer>>();
for(List<Integer> listInList: Permutation_S){
for(Integer integerValue: listInList){
if(integerValue == 2 /*your desired value*/){
//DO SOMETHING
}
}
}
当然,如果您使用的是Java 8或更高版本,则可以使用流
答案 2 :(得分:0)
stream
的解决方案:
int x = 3; // the number to be looked
List<Integer> selectedInnerList = permutationS.stream()
.filter(s -> s.contains(x))
.findFirst()
.get();
请注意findFirst()
返回一个Optional对象,因此如果没有这样的元素,get()
将抛出异常
答案 3 :(得分:0)
怎么样:
public List getList(Object value) {
for (List inner : Permutation_S) {
if (inner.contains(value))
return inner;
}
}
答案 4 :(得分:0)
一种解决方案是删除所有不包含特定整数的List<Integer>
(例如10):
permutationS.removeIf(list -> !list.contains(10));
另一种解决方案是使用流和过滤来完成它:
permutationS.stream()
.filter(list -> list.contains(10))
.collect(Collectors.toList());
如果您只查找单个List<Integer>
,则可以使用以下内容:
List<Integer> newList = permutationS.parallelStream()
.filter(list -> list.contains(10))
.findAny()
.orElseGet(ArrayList::new);
答案 5 :(得分:0)
也许有这样的结构?
for (List<Integer> lists : permutationS) {
for(Integer integers : lists){
//Your tests
}
}
答案 6 :(得分:0)
这将允许您获取包含所需值的列表,如果没有一个内部列表包含它,它将返回一个新的空列表:
int val = 10;
List<Integer> innerList = permutationS.stream() //iterate over inner lists
.filter(list -> list.contains(val)) //keep one which contains the value
.findAny() //keep only one if exists
.orElse(new ArrayList<>()); // if no-one return new List
示例:
permutationS.add(Arrays.asList(0, 6, 13, 14));
permutationS.add(Arrays.asList(1, 10, 11, 18, 6, 78, 79, 9));
permutationS.add(Arrays.asList(2, 22, 4, 20));
List<Integer> innerList = permutationS.stream().filter(list -> list.contains(10))
.findAny().orElse(new ArrayList<>());
innerList.size(); // = 8
List<Integer> innerList2 = permutationS.stream().filter(list -> list.contains(34))
.findAny().orElse(new ArrayList<>());
innnerList2.size(); // = 0