如何给ArrayList<Integer>对象里面添加字符串

如何给ArrayList<Integer>对象里面添加字符串,第1张

泛型只是给编译器看的,事实上泛型在编译完后就没有了,其本质上添加的任然是Object类型的,所以可以通过反射机制来实现

参考代码:

import java.util.ArrayList

import java.lang.reflect.Method

public class Demo {

public static void main(String[] args) throws Exception {

ArrayList<Integer>array = new ArrayList<Integer>()// 创建集合

Class c = array.getClass()// 或者Class c = ArrayList.class

Method m = c.getDeclaredMethod("add", Object.class)// 获取add()方法的字段

m.invoke(array, "Hello")// 添加Hello字符串

m.invoke(array, "World")// 添加World字符串

System.out.println(array)// 输出array

}

}

运行结果:

[Hello, World]

假设需要合并的实体类是一个Java类,包含了多个字段,其中需要合并的字段名为"fieldName",那么可以按照以下步骤进行 *** 作:

定义一个Map,用于存储合并后的实体类,其中Key为"fieldName"的值,Value为合并后的实体类。

Map<Object, YourEntityClass>resultMap = new HashMap<>()

遍历List集合,对于每一个实体类,根据"fieldName"的值从Map中获取已经合并的实体类,如果不存在,则将当前实体类添加到Map中;如果存在,则将当前实体类的相应字段累加到已经存在的实体类中。

for (YourEntityClass entity : yourList) {

Object key = entity.getFieldName()

if (resultMap.containsKey(key)) {

YourEntityClass existingEntity = resultMap.get(key)

// 累加相应字段

existingEntity.setSomeField(existingEntity.getSomeField() + entity.getSomeField())

} else {

resultMap.put(key, entity)

}

}

最终,将合并后的实体类从Map中取出来,组成一个新的List返回。

List<YourEntityClass>result = new ArrayList<>(resultMap.values())

这样,就可以实现根据某个字段值合并实体类并累加相应字段的 *** 作。

在JAVA中,想要把一个list中的内容添加至另一个list中,有两种方法:

采用循环的方法。通过循环第一个ArrayList,然后通过每循环一次的方式,将值赋值给另一个ArrayList。具体代码实现如下:

2.采用ArrayList自带的addAll()方法。addAll()方法是通过传入整一个List,将此List中的所有元素加入到新的List中,也就是当前List会增加的元素个数等于传入的List的大小。该方法较为简单,具体代码实现如下:

拓展资料:

1.List.add() 和 List.addAll() 的区别:

(1)List.add() 方法,也是往List 中增加list,但是,它增加的是一个List 实例。如果,往容器中增加的那个List 实例从数据库中查到的结果有5条,不过,如果使用了List.add(list1)程序只会输出一条记录。原因就是上面说的。List.add() 加List 实例,它会把这个看一个实例,而不是把那个看成一个容器。

(2) 例如:List.add(list1),List.add(list2)List.add(list3),  这时,List.size 它的大小是3。

(3)List.add() 的含义就是:你往这个List 中添加对象,它就把自己当初一个对象,你往这个List中添加容器,它就把自己当成一个容器。

(4)List.addAll()方法,就是规定了,自己的这个List 就是容器,往里面增加的List 实例,增加到里面后,都会被看成对象。

(5) 这时:List.add(list1),List.add(list2)List.add(list3),  这时,List.size 它的大小就是所有list 实例化后的总数和总的记录数。

2.集合是Java API所提供的一系列类,可以用于动态存放多个对象。集合与数组的不同在于,集合是大小可变的序列,而且元素类型可以不受限定,只要是引用类型。集合中不能放基本数据类型,但可以放基本数据类型的包装类。 集合类全部支持泛型,是一种数据安全的用法。java列表是集合的一种,并且列表中的元素是有序的,且允许重复。java列表又称为java list。

参考资料:Java List_百度百科


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11341977.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存