当前位置: 首页 > 面试题库 >

在Java中使用long ArrayList索引

史磊
2023-03-14
问题内容

我正在编写此Java程序,以使用Eratosthenes的Sieve查找到num为止的所有素数,但是当我尝试编译时,它说我不能将long
var用作数组索引,并且期望int var in它的位置。但是我将使用大量数据,因此不能使用int。我能做什么?

import java.util.*;
import java.lang.*;

public class t3{
    public static void main(String[] args){
        long num = 100;

        //declaring list and filling it with numbers
        ArrayList<Long> numlist = new ArrayList<Long>();
        for(long x=2 ; x<num ; x++){
            numlist.add(new Long(x));
        }

        //sieve or eratosthenes
        for(long x=0 ; x<Math.sqrt(num) ; x++){
            for(long y=x+1 ; y<numlist.size() ; y++){
                if(numlist[y]%numlist[x] == 0){
                    numlist.remove(y);
                }
            }
        }

        //print list
        for(Object item : numlist){
            System.out.println((Long)item);
        }
    }
}

问题答案:

我不确定为什么您的代码会首先开始编译。

您不应该在数组列表中使用[]访问成员。arraylist只是内部存储在数组中的列表。您必须使用列表get操作(仍为O(1))。编写numlist
[index]意味着numlist中有一个对象数组。您不能像C ++中那样覆盖[]操作。

另外,在Java中,int是32位。长度大于2 ^ 32的数组(因此您将需要长索引)是不太可能的,而且我甚至不确定规范是否允许它。



 类似资料:
  • 本文向大家介绍如何使用Java在MongoDB中创建索引?,包括了如何使用Java在MongoDB中创建索引?的使用技巧和注意事项,需要的朋友参考一下 在MongoDB中创建索引,您需要使用createIndex()方法。 语法 其中的键是要在其上创建索引的文件的名称,而1是升序。要以降序创建索引,您需要使用-1。 在Java中,您可以使用 createIndex()方法创建索引,该方法需要传递索

  • 本文向大家介绍如何使用Java在MongoDB中删除索引?,包括了如何使用Java在MongoDB中删除索引?的使用技巧和注意事项,需要的朋友参考一下 在MongoDB中删除索引,您需要使用dropIndex()方法。 语法 在Java中,可以使用dropIndex()方法删除索引,您需要将索引的类型(升序或降序)和在其上创建字段的名称传递给该方法。 示例 输出结果

  • 我一直在看Neo4J和Neo4J的客户。。 neo4jclient wiki帮助我处理节点crud操作。。然而,维基突然就此结束。。我翻遍了源代码中的测试方法,设法了解了关系,并在网上搜索以了解索引是如何工作的。 到目前为止,我大致了解到: 这就是我现在被困的地方。。当我尝试按名称查找用户时,密码查询返回的结果为零: 我不太明白为什么它在清晰的时候返回零节点 显示所有节点。 索引时我还遗漏了什么吗

  • 问题内容: 我需要使用Java在Apache Solr中获取索引的总大小。以下代码获取文档总数,但是我正在寻找大小。并通过使用ReplicationHandler,我想我可以得到此链接上某人告诉的索引大小。http://lucene.472066.n3.nabble.com/cheking- the-size-of-the- index-using-solrj-API-s- td692686.ht

  • 问题内容: 我有一个下面的JSON字符串,我想在JSON字符串中查找/搜索条件。 1)。查找存在的键数。2)。获取给定键的值(如果有数组) 我正在寻找类似Groovy GPath语法的解决方案 store.book-此数组的大小。 store.book [*]。category-如何对数组中存在的键进行计时。 store.bicycle-如果发现它必须返回真实值 问题答案: 您还可以使用REST

  • 我在java中有一个项目,我使用弹性搜索2.3.3对数据进行索引。索引有两种类型。 我的索引文档如下所示: 我只需要删除特定名称和类型的索引。 例如:-从上面的文档中,我想删除名为“test\u index”的索引,并键入“戏剧”。 因此,结果应该如下所示: 尝试的解决方案: 客户admin()。索引()。删除(new DeleteIndexRequest(“test\u index”)。acti