我有一个巨大的数据集,我将其存储到一个集合中,需要找到那里有没有重复.
数据大小可能超过100万.我知道我可以在ArrayListcomapre中存储更多元素Map.
我的问题是:
Map比搜索排序更快ArrayList?HashMap是否比TreeMap?n元素所需的空间方面,这在a TreeMap和HashMap实现之间会更有效吗?我正在读一个包含500000行的文件.我正在测试看多个线程如何加速进程....
private void multiThreadRead(int num){
for(int i=1; i<= num; i++) {
new Thread(readIndivColumn(i),""+i).start();
}
}
private Runnable readIndivColumn(final int colNum){
return new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
try {
long startTime = System.currentTimeMillis();
System.out.println("From Thread no:"+colNum+" Start time:"+startTime);
RandomAccessFile raf = new RandomAccessFile("./src/test/test1.csv","r");
String line = "";
//System.out.println("From Thread no:"+colNum);
while((line = raf.readLine()) != null){
//System.out.println(line);
//System.out.println(StatUtils.getCellValue(line, colNum));
}
long elapsedTime = System.currentTimeMillis() - startTime;
String formattedTime = String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes(elapsedTime),
TimeUnit.MILLISECONDS.toSeconds(elapsedTime) …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过扩展DefaultTableModel并覆盖getColumnClass()来对JTable进行排序,如下所示:
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
Run Code Online (Sandbox Code Playgroud)
如果该表格单元格中没有NULL,则它可以正常工作.所以我按照以下方式修改它:
public Class getColumnClass(int c) {
for(int rowIndex = 0; rowIndex < data.size(); rowIndex++){
Object[] row = data.get(rowIndex);
if (row[c] != null) {
return getValueAt(rowIndex, c).getClass();
}
}
return getValueAt(0, c).getClass();
}
Run Code Online (Sandbox Code Playgroud)
现在,再次,如果列中至少有一个不是NULL的单元格,它可以正常工作.但是如果列中的所有单元格都是NULL,则它不起作用('casue它返回nullPointerException).
请............帮助....提前谢谢
哈桑
我对java中的泛型很陌生.我有一个名为的接口RIEngine.
我正在尝试以下示例:
private <T> boolean allExist(List<T extends RIEngine> resultedList,
String... columnName)
{ ... }
Run Code Online (Sandbox Code Playgroud)
不编译.
但
private <T> boolean allExist(List<? extends RIEngine> resultedList,
String... columnName)
{ ... }
Run Code Online (Sandbox Code Playgroud)
编译.
我的问题是:为什么会如此.
为什么我不能使用type ="T"而不是外卡?
请帮我理解.