导航:首页 > 编程语言 > java数据对比

java数据对比

发布时间:2022-04-29 06:06:00

java比较两张表相同字段的数据

双循环吧
确认A是不重复的,可以比较到相同的时候删除一个B相同值,减少后面的对比。

⑵ java分别读取两个txt文件里的数据进行比较,分别列出这两个文件中共有的数据,并统计每种数据的数量

我就不给你写代码了,给你说下思路。

1.用BufferedReader
分别读取这2个文件,循环读取,一次读取1行
将读取的数据分别放入2个List中,分别为list1,list2。

定义变量sameCount,用于记录1,2都有的数据条数。
2.循环list1,取出其中的每一条,并与list2中对比,相同则sameCount++;

至于输出1,2中各有多少条数据就很简单了,就是list1.size()和list2.size();

给你一点代码提示:
BufferedRreader br = new BufferedReader(new FileReader(new File("1.txt"));
String temp = null;
List list1 = new ArrayList();

while((temp = br.readLline() ) != null) {
list1.add(temp);
}

br.close();

这就是读取1.txt的内容,并放入list1中。
因为你要分别读取1,2的内容,所以你可以将这段代码写一个方法。
参数为文件名和要放入的List。如:readFile(String filename,List list);

对比就不要我说了吧。readFile()这个方法调用2次,分别读取1,2数据后得到list1,list2。
接下来循环1吧。
定义变量Integer sameCount = 0;
for(String s : list1) {
for (String ss : list2) {
if (s.equals(ss)) {
sameCount++;
}
}
}

代码给你写的差不多了,望采纳。

⑶ 怎么用Java对比两份数据,然后提出相同的数据。(JAVA自学者)

/**
* Title:GetSameData.java
* Description:
* Copyright: Owner 2009
* CreateTime:Sep 10, 2009 10:57:14 AM
* @author Owner
* @data Sep 10, 2009
* @version 1.0
*/
package file;

import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

/**
* Title: GetSameData
* Description:
* Company: LTGames
* @author Owner
* @date Sep 10, 2009
*/
public class GetSameData {

/**
* Map的key为Name, value为包含standard的文件名的数组。
*/
private Map<String, List<String[]>> fileDataMap = new HashMap<String, List<String[]>>();

/**
* 从指定的文件夹加载数据。
* Title: initFilesData
* Description:
* @author Owner
* @param folder
* @return
* @throws IOException
*/
public void initFilesData(String folderPath) throws IOException{
File folder = new File(folderPath);
if(folder.isFile()){
System.out.println("输入路径不是文件夹,请重新输入路径");
return;
}
File[] files = folder.listFiles();
for(File file : files){
loadData(file);
}
}

private void loadData(File file) throws IOException{
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
String lineString;
String[] lineDatas;
List<String[]> dataList;
String fileName = file.getName();
while((lineString = bufferedReader.readLine()) != null){
lineDatas = lineString.split(",");
// 找到数据行
if(lineDatas.length == 15 && !lineDatas[0].equals("Ilmn ID")){
// 找到对应的list对象
if((dataList = fileDataMap.get(lineDatas[1])) == null){
dataList = new ArrayList<String[]>();
}
// 将数据保存到list当中
dataList.add(new String[]{lineDatas[14], fileName});
// 将list保存到Map当中
fileDataMap.put(lineDatas[1], dataList);
}
}
}

public static void main(String[] args) {
GetSameData o = new GetSameData();
try {
o.initFilesData("d:/a");
Map<String, List<String[]>> fileDataMap = o.getFileDataMap();
Iterator<String> key = fileDataMap.keySet().iterator();
while(key.hasNext()){
String id = key.next();
if(fileDataMap.get(id).size() > 1){
for(String[] dates : fileDataMap.get(id)){
System.out.println(id + " " + dates[0] + " " + dates[1]);
}
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public Map<String, List<String[]>> getFileDataMap() {
return fileDataMap;
}

}
已经按照你的数据个数修改完毕。

⑷ java 数据比对功能 求帮助

有很多种方法

⑸ Java 两个数据库内容比对

可以把读取出来的数据放在List里,然后进行比对,当ID和name不相等时,放到第三个list里,然后输出第三个list里的内容。

⑹ 几种Java读写数据流性能对比

public static int FileOutputStreamTime = 0; 2 public static int BufferedOutputStreamTime = 0; 3 public static int FileWriterTime = 0; 4 public static int FileInputStreamTime = 0; 5 public static int BufferedInputStreamTime = 0; 6 public static int FileReaderTime = 0; 7 8 public static void write(String filePath, String content){ 9 FileOutputStream out = null; 10 FileOutputStream outStr = null; 11 BufferedOutputStream buf = null; 12 FileWriter fw = null; 13 File f = new File(filePath); 14 15 try { 16 //Test FileOutputStream 17 long begin1 = System.currentTimeMillis();
18 out = new FileOutputStream(f); 19 out.write(content.getBytes()); 20 out.close(); 21 long end1 = System.currentTimeMillis(); 22 FileOutputStreamTime += end1 - begin1; 23 24 //Test BufferedOutputStream 25 long begin2 = System.currentTimeMillis(); 26 outStr = new FileOutputStream(f); 27 buf = new BufferedOutputStream(outStr); 28 buf.write(content.getBytes()); 29 buf.flush(); 30 buf.close(); 31 long end2 = System.currentTimeMillis(); 32 BufferedOutputStreamTime += end2 - begin2; 33 34 //Test FileWriter 35 long begin3 = System.currentTimeMillis(); 36 // the second parameter "true",Whether or not a file will be covered 37 // or appended. 38 fw = new FileWriter(f); 39 // fw = new FileWriter("d:/test/testwrite/add2.txt",true); 40 fw.write(content); 41 fw.close(); 42 long end3 = System.currentTimeMillis(); 43 FileWriterTime += end3 - begin3; 44 } catch (Exception e) { 45 e.printStackTrace(); 46 } finally { 47 try { 48 fw.close(); 49 buf.close(); 50 outStr.close(); 51 out.close(); 52 } catch (Exception e) { 53 e.printStackTrace(); 54 } 55 } 56 } 57 58 public static void read(String filePath){ 59 FileInputStream in = null; 60 BufferedInputStream buf = null; 61 FileReader reader = null; 62 BufferedReader br = null; 63 StringBuffer sb = new StringBuffer(); 64 65 try { 66 //Test FileInputStream 67 long begin1 = System.currentTimeMillis(); 68 File f = new File(filePath); 69 in = new FileInputStream(f); 70 int len1 = 512; 71 byte[] bytes1 = new byte[len1]; 72 73 while ((len1 = in.read(bytes1, 0, len1)) != -1) { 74 if(len1 < 512){ 75 byte[] tmpBuf = new byte[len1]; 76 System.array(bytes1, 0, tmpBuf, 0, len1);
77 sb.append(new String(tmpBuf)); 78 tmpBuf = null; 79 }else{ 80 sb.append(new String(bytes1)); 81 } 82 } 83 84 in.close(); 85 long end1 = System.currentTimeMillis(); 86 FileInputStreamTime += end1 - begin1; 87 88 //Test BufferedInputStream 89 long begin2 = System.currentTimeMillis(); 90 int len2 = 512; 91 byte[] bytes2 = new byte[len2]; 92 buf = new BufferedInputStream(new FileInputStream(f)); 93 while ((len2 = buf.read(bytes2, 0, len2)) != -1) { 94 if(len2 < 512){ 95 byte[] tmpBuf = new byte[len2]; 96 System.array(bytes2, 0, tmpBuf, 0, len2);
97 sb.append(new String(tmpBuf)); 98 tmpBuf = null; 99 }else{100 sb.append(new String(bytes2));101 }102 }103 104 buf.close();105 long end2 = System.currentTimeMillis();106 BufferedInputStreamTime += end2 - begin2;107 108 //Test FileReader109 long begin3 = System.currentTimeMillis();110 reader = new FileReader(f);111 br = new BufferedReader(reader);112 String str;113 while ((str = br.readLine()) != null) {114 sb.append(str);115 }116 br.close();117 reader.close();118 long end3 = System.currentTimeMillis();119 FileReaderTime += end3 - begin3;120 121 } catch (Exception e) {122 e.printStackTrace();123 } finally {124 try {125 br.close();126 reader.close();127 in.close();128 buf.close();129 } catch (Exception e) {130 e.printStackTrace();131 }132 }133 }

⑺ JAVA比较数值的大小

publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);

intnum;
intmax=0;
intmin=0;

while(true){
System.out.println("请输入一个整数“输入0时结束”:");
num=input.nextInt();
if(num==0){
break;
}
if(num>max){
max=num;
}
if(num<min){
min=num;
}
}
System.out.print("最大值为:"+max+"最小值为:"+min);
}

⑻ JAVA文件数据对比怎么差距巨大

首先,如果你用ArrayList来放的话,请先判断数据条数,new对象时用带容量参数的构造方法。
例如,有100000条数据, new ArrayList(100000);
这要在添加数据时效率大很多,原理是ArrayList的内部实现是用数组的,数组是不可变的对象。详细的就不说了。
如果用LinkedList的话,在查找时,用iterator来遍历。

⑼ Java中如何比较两种数据类型为同一种类型

public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String) anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; }

这是String中equals的实现,b1是Boolean类型的,不是instanceof String,所以返回了false,然后就没有输出了。

⑽ java中怎么对两组大批量数据进行比较

/**
* 使用Map和List的特性进行匹配:
* Map为key-value结构,不能放重复数据
* List可以放重复数据
* 使用String型id做key,List<Person>做value
* 遍历List<String>, map.get(String)则取出id == str 的list
*/

阅读全文

与java数据对比相关的资料

热点内容
PC机与单片机通讯 浏览:674
二级加密图 浏览:113
压缩机异音影响制冷吗 浏览:711
德斯兰压缩机 浏览:490
程序员太极拳视频 浏览:531
网上购买加密锁 浏览:825
安卓为什么软件要隐私 浏览:83
虚拟主机管理源码 浏览:811
java图形图像 浏览:230
单片机输出口电平 浏览:486
java配置数据库连接 浏览:479
java多态的体现 浏览:554
java的split分隔符 浏览:128
跪着敲代码的程序员 浏览:238
web和php有什么区别 浏览:120
加密的电梯卡怎么复制苹果手机 浏览:218
warez压缩 浏览:137
黑马程序员培训机构官网天津 浏览:904
mainjavasrc 浏览:59
如何买服务器挖矿 浏览:292