×

java**详解 java**的用法

前端技术网 前端技术网 发表于2024-02-03 08:43:58 浏览3503 评论0

抢沙发发表评论

一、java中map和list的区别

1、Java中的**包括三大类,它们是Set、List和Map,它们都处于java.util包中,Set、List和Map都是接口,它们有各自的实现类。Set的实现类主要有HashSet和TreeSet,List的实现类主要有ArrayList,Map的实现类主要有HashMap和TreeMap。

2、List中的对象按照索引位置排序,可以有重复对象,允许按照对象在**中的索引位置检索对象,如通过list.get(i)方式来获得List**中的元素。List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。List允许有相同的元素。实现List接口的常用类有LinkedList,ArrayList,Vector和Stack。

java**详解 java**的用法

3、Map中的每一个元素包含一个键对象和值对象,它们成对出现。键对象不能重复,值对象可以重复。Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。Map接口提供3种**的视图,Map的内容可以被当作一组key**,一组value**,或者一组key-value映射。

二、怎么用java8 lamada提取**中每个对象的属性

要提取属性的话,用Stream中的map,然后使用方法引用,就可以了。

举个例子Student类中有name属性:

List<Student>students=newArrayList<Student>();

List<String>names=students.stream().map(Student::getName).collect(Collectors.toList());

也可以重新写你那个对象的toString()方法:

java**详解 java**的用法

譬如你那个对象类为Studentclassstudent{privateintid;privateStringpassword;privateStringusername;publicStringtoString(){returnid+","+password+","+username;}}这样你就可以直接调用for(inti=0;i<list.size();i++){System.out.println(list.get(i).toString());};

三、java去除两个**中重复的数据,也就是求差值

List<String>stuList3=newArrayList<String>(); stuList3.addAll(stuList); stuList3.addAll(stuList2);//把两个**合成一个 stuList.retainAll(stuList2);//找出两个**中重复的数据 stuList3.removeAll(stuList);//然后移除 for(Strings:stuList3){ System.out.println(s);//打印结果 }

感谢您花时间阅读本文!我们希望通过对java**详解和java**的用法的问题进行探讨,为您提供了一些有用的见解和解决方案。如果您需要更多帮助或者有其他疑问,请不要犹豫与我们联系。