给定一个map.这样去取它的key和value的class

Map<Integer,String> map = new HashMap<Integer,String>();;
map.put(new Integer(6),"xiaobai");//没这句会出现异常中,所以前提是......
Set set = map.entrySet();
Class keyClass = null;
Class valueClass = null;
Map.Entry entry = null;
if (set != null);
entry =(Map.Entry)set.iterator().next();;
if (entry != null){
keyClass= entry.getKey().getClass();
valueClass = entry.getValue().getClass();;
System.out.println("Key Class :"+keyClass.getName()+" Value Class :"+valueClass.getName());
}
看了网上的一些资料 感觉这样也有问题! 望高手看了这段能详细解释下!
你可以使用Java 8的流式写法来实现将一个对象集合的某个属性替换为给定mapvalue。下面是一个示例代码: ```java import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; } } public class Main { public static void main(String[] args) { List<Person> personList = Arrays.asList( new Person("Alice", 25), new Person("Bob", 30), new Person("Charlie", 35) ); Map<String, String> nameMap = Map.of( "Alice", "A", "Bob", "B", "Charlie", "C" ); List<Person> updatedList = personList.stream() .map(person -> new Person(nameMap.getOrDefault(person.getName(), person.getName()), person.getAge())) .collect(Collectors.toList()); System.out.println(updatedList); } } ``` 在上面的示例,我们有一个`Person`类表示人员信息,包含姓名和年龄两个属性。我们有一个`personList`对象集合和一个`nameMap`映射,其`nameMap`的key是人员姓名,value是要替换成的新。 使用流式写法,我们使用`map`操作将每个`Person`对象映射为新的`Person`对象。在映射的过程,我们通过`nameMap.getOrDefault()`方法获取新的姓名,并使用该创建新的`Person`对象。最后,我们使用`collect`操作将映射后的`Person`对象收集到一个新的集合。 输出结果为: ``` [Person{name='A', age=25}, Person{name='B', age=30}, Person{name='C', age=35}] ``` 可以看到,原始的`personList`的姓名属性已经被替换为了给定`nameMap`的value
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值