① java 将两个相同对象不同属性list合并
程序如下:
IList a = new ArrayList();
IList b = new ArrayList();
(a as ArrayList).AddRange(b);
拓展资料:
Java programming language具有目前大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的"形式和感觉",但它要比C++语言更易于使用,而且在编程时彻底采用了一种"以对象为导向"的方式。使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。
Java是Sun微系统公司在1995年推出的,推出之后马上给互联网的交互式应用带来了新面貌。目前,最常用的两种互联网浏览器软件中都包括一个Java虚拟机。几乎所有的操作系统中都增添了Java编译程序。
② JAVA 中List类中的对象合并的问题。
packagetest;
importjava.util.Arrays;
importjava.util.Collections;
importjava.util.Comparator;
importjava.util.LinkedList;
importjava.util.List;
publicclassStudent
{
Stringsno;
Stringsname;
publicStudent(Stringsno,Stringsname)
{
this.sno=sno;
this.sname=sname;
}
publicStringgetSno()
{
returnsno;
}
publicvoidsetSno(Stringsno)
{
this.sno=sno;
}
publicStringgetSname()
{
returnsname;
}
publicvoidsetSname(Stringsname)
{
this.sname=sname;
}
@Override
publicStringtoString()
{
StringBuilderbuilder=newStringBuilder();
builder.append("Student[sno=").append(sno).append(",sname=").append(sname).append("]");
returnbuilder.toString();
}
privatestaticList<Student>contains(List<Student>a,List<Student>b)
{
List<Student>list=newLinkedList<Student>();
list.addAll(a);
Stringtemp=list.toString();
for(Studentstudent:b)
{
Stringreg="sno="+student.getSno()+",";
if(temp.indexOf(reg)==-1)
{
list.add(student);
}
}
Collections.sort(list,newComparator<Student>()
{
@Override
publicintcompare(Studento1,Studento2)
{
inta=Integer.parseInt(o1.getSno());
intb=Integer.parseInt(o2.getSno());
if(a>b)
{
return1;
}
elseif(a<b)
{
return-1;
}
else
{
return0;
}
}
});
returnlist;
}
publicstaticvoidmain(String[]args)
{
Students1=newStudent("100","ko");
Students2=newStudent("102","pi");
Students3=newStudent("101","pid");
Students4=newStudent("102","pi");
List<Student>a=Arrays.asList(s1,s2);
List<Student>b=Arrays.asList(s3,s4);
List<Student>c=contains(a,b);
for(Studentstudent:c)
{
System.out.println(student);
}
}
}
③ java,合并两个相同对象的不同属性值,如何做
首先区分一下类、对象和属性的概念,A是类,a1,、a2是对象,arg1、arg2是属性。
这个问题可以在声明A类的时候为其设置两个属性arg1、arg2
初始化a1的时候arg2对应的参数传null就可以
初始化a3的时候可以这么写
A a3 = new A(a1.get(arg1),a2.get(arg2));
另外建议楼主找本java教材仔细阅读第一章
④ java 中怎样将2个不同对象的list 和成一个list
list1.addAll(list2);
前提是list的类型要一样,如果是两个对象,那么都转成Object应该就可以了吧。
⑤ java怎么合并list对象集合
第一重循环 倒序循环,第二重循环这个list中找,找到就合并的第一重循环数据中,删除这个数据。
for(int i = list.size(); i >=0; i--) {
User user = (User)list.get(i);
User temp;
for(int j = 0; j < list.size(); j ++) {
if(user.get("time").equals(temp.get("time"))) {
list.remove(j);
}
}
}
⑥ java对象数组的合并问题
public class Counter {
public static void main(String[] args) throws Exception {
Object[] obj = { "a1,b1,c1,100", "a1,b2,c1,300", "a1,b1,c1,50",
"a1,b1,c2,100", "a1,b2,c1,100" };
Object[] result = new Object[obj.length];
int size = 0;
for (Object o : obj) {
String ori = o.toString();
String abc = ori.substring(0, ori.lastIndexOf(','));
boolean add = true;
for (int i = 0; i < size; i++) {
if (result[i].toString().indexOf(abc) == 0) {
double d1 = Double.parseDouble(ori.substring(ori
.lastIndexOf(',') + 1));
double d2 = Double.parseDouble(result[i].toString()
.substring(ori.lastIndexOf(',') + 1));
result[i] = abc + "," + (d1 + d2);
add = false;
break;
}
}
if (add) {
result[size++] = o;
}
}
for (int i = 0; i < size; i++) {
System.out.println(result[i]);
}
}
}
=================================
运行结果
a1,b1,c1,150.0
a1,b2,c1,400.0
a1,b1,c2,100