package com.test;

import java.util.ArrayList;

import java.util.List;

public class FileTest {

public static void main(String[] args) {

List beans=new ArrayList();

FileBean bean1=new FileBean();

bean1.setDirectory("path1");

bean1.setSize(20);

beans.add(bean1);

FileBean bean2=new FileBean();

bean2.setDirectory("path1");

bean2.setSize(30);

beans.add(bean2);

FileBean bean3=new FileBean();

bean3.setDirectory("path1");

bean3.setSize(40);

beans.add(bean3);

FileBean bean4=new FileBean();

bean4.setDirectory("path2");

bean4.setSize(50);

beans.add(bean4);

FileBean bean5=new FileBean();

bean5.setDirectory("path2");

bean5.setSize(60);

beans.add(bean5);

FileBean bean6=new FileBean();

bean6.setDirectory("path3");

bean6.setSize(70);

beans.add(bean6);

FileBean bean7=new FileBean();

bean7.setDirectory("path3");

bean7.setSize(80);

beans.add(bean7);

FileBean bean8=new FileBean();

bean8.setDirectory("path3");

bean8.setSize(90);

beans.add(bean8);

List result = transferFilebean(beans);

System.out.println(result.size());

for(int i = 0; i< result.size();i++){

FileBean bean = result.get(i);

System.out.println(bean.getDirectory() + ";" + bean.getSize());

}

}

public static List transferFilebean(List beans){

List result = new ArrayList();

if(beans == null){

return result;

}

for(int i = 0; i< beans.size();i++){

FileBean bean = beans.get(i);

if(!result.contains(bean)){

for(int j = i+1; j< beans.size();j++){

FileBean bean2 = beans.get(j);

if(bean.equals(bean2)){

bean.setSize(bean.getSize()+bean2.getSize());

}

}

result.add(bean);

}

}

return result;

}

}

class FileBean {

private String directory;

private long size;

private int dirNum;

public String getDirectory() {

return directory;

}

public void setDirectory(String directory) {

this.directory = directory;

}

public long getSize() {

return size;

}

public void setSize(long size) {

this.size = size;

}

public int getDirNum() {

return dirNum;

}

public void setDirNum(int dirNum) {

this.dirNum = dirNum;

}

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + ((directory == null) ? 0 : directory.hashCode());

result = prime * result + (int) (size ^ (size >>> 32));

return result;

}

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

FileBean other = (FileBean) obj;

if (directory == null) {

if (other.directory != null)

return false;

} else if (!directory.equals(other.directory))

return false;

return true;

}

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐