小编Has*_*san的帖子

Map/ArrayList:搜索元素的速度更快

我有一个巨大的数据集,我将其存储到一个集合中,需要找到那里有没有重复.

数据大小可能超过100万.我知道我可以在ArrayListcomapre中存储更多元素Map.

我的问题是:

  1. 正在搜索键Map比搜索排序更快ArrayList
  2. 正在搜索Key in HashMap是否比TreeMap
  3. 仅在存储n元素所需的空间方面,这在a TreeMapHashMap实现之间会更有效吗?

java

7
推荐指数
1
解决办法
5757
查看次数

使用Multiple Thread读取单个文件:应该加快速度吗?

我正在读一个包含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)

java multithreading

7
推荐指数
2
解决办法
2万
查看次数

如果单元格包含NULL,则JTable + getColumnClass()返回null

我正在尝试通过扩展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 swing jtable

4
推荐指数
1
解决办法
1万
查看次数

通配符(?)工作,而类型"T"不在泛型 - 为什么?

我对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"而不是外卡?

请帮我理解.

java generics

2
推荐指数
1
解决办法
98
查看次数

标签 统计

java ×4

generics ×1

jtable ×1

multithreading ×1

swing ×1