// list不支持removeAll,removeAll修改集合本身
List list1 = ArraysasList("a","b","c");
List list2 = ArraysasList("b","c","d");
Set set1 = new HashSet(list1);
Set set2 = new HashSet(list2);
set1 removeAll(set2 );//set1 : a
Set set3 = new HashSet(list1);
set2 removeAll(set3 );//set2 : d
你是java的初学者吧,java一个方法的最基本的声明,由修饰符,返回值,方法名组成,这是必要的三个元素。最简单的方法也要由这三个部分组成,比如一个简单的方法
public void test(){
systemoutprintln("Hello World");
}
这里public是修饰符,表示是公共的方法,void表示返回值,void为空,表示这个方法不需要返回值,test是方法名,小括号里是方法的参数,没有即不需要参数,花括号为具体的java代码,也就是方法执行的过程。这里是直接在控制太输出Hello World这个句子。
回到你的问题,一个方法要返回List,即表示这个方法的返回值为List,那么遵循我最开始说的方法组成,这里的返回值就是List,所以把void 改成List即可。写个完整的例子,一个方法返回一个包含整数1~10的List。
public List getNumberList(){
List list=new ArrayList();
for(int i=1;i<=10;i++){
listadd(i);
}
return list;
}
此处方法返回值声明为List,即表示这个方法必须返回一个List,不返回List,至少要返回一个Null,因为java的方法,只要返回值不为void,都必须返回一个对象。
希望我的回答能帮到你~~
java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性
java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法
java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看
方法一:超级for循环遍历
for(String attribute : list) {
Systemoutprintln(attribute)
}
方法二:
对于ArrayList来说速度比较快, 用for循环, 以size为条件遍历
for(int i = 0 ; i < listsize() ; i++) {
systemoutprintln(listget(i));
}
方法三:
集合类的通用遍历方式, 从很早的版本就有, 用迭代器迭代
Iterator it = listiterator();
while(ithasNext()) {
Systemouprintln(itnext)
}
寻找相同的数据, 可以使用多种方式,下面简单介绍2种
第一种: 循环遍历,然后在把每一个元素,在其他集合里查找, 如果都存在该元素,就把这个元素保存起来
第二种: java8流处理, 原理差不多, 但是语法比较简洁
稍微注意的是list1 = {'A','A','B'}和list2 = {'A','C'} 如果粗糙的求交集,会得到一个交集结果{'A','A'}, 但是如果要严格取交集那么结果是一个'A'
解决起来很简单, 创造一个boolean[] b2=new boolean[list2size]; 该boolean数组用于标记,list2的元素,哪些被使用了,哪些没有被使用被使用的立刻标记为true 下次不再使用
简单的参考代码: 可以按照自己的需求进行扩展和完善
import javautilArrayList;import javautilArrays;
import javautilstreamCollectors;
public class Demo1 {
//为了方便, 全部定义成静态属性,方便静态方法内使用
static ArrayList<Integer> list1 = new ArrayList<Integer>(ArraysasList(1, 2, 3, 4, 5, 6));
static ArrayList<Integer> list2 = new ArrayList<Integer>(ArraysasList(11, 22, 33, 44, 55, 6));
static ArrayList<Integer> list3 = new ArrayList<Integer>(ArraysasList(12, 13, 14, 15, 16, 6));
public static void main(String[] args) {
test1();//java8 流处理
test2();//传统遍历循环进行处理
}
//流处理求交集
private static void test1() {
Systemoutprintln("list1,list2,list3的交集是:");
list1stream()filter(num -> list2contains(num) && list3contains(num))collect(CollectorstoList())stream()
forEach(Systemout::println);
}
//循环遍历求交集
private static void test2() {
ArrayList<Integer> result = new ArrayList<Integer>();
for (Integer num : list1) {
if (list2contains(num) && list3contains(num)) {
resultadd(num);
}
}
Systemoutprintln("list1,list2,list3的交集是:");
for (Integer i : result) {
Systemoutprintln(i);
}
}
}
以上就是关于java 如何获取得到两个list中不同的数据全部的内容,包括:java 如何获取得到两个list中不同的数据、java如何得到一个方法返回的list、java中怎么获取list长度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)