草庐IT

zipped_list

全部标签

java - 我应该返回 List 还是 ArrayList?

我发现自己同意返回一个接口(interface)而不是一个具体的类。原因很简单,我要松耦合。但是会有其他影响或权衡吗? 最佳答案 最好返回最适合您的接口(interface)的通用类型。如果出于某些原因ArrayList本质上适合您要返回的数据,那么您应该使用它。通常List没问题,但如果返回值本质上是无序的,您也可以考虑使用Collection: 关于java-我应该返回List还是ArrayList?,我们在StackOverflow上找到一个类似的问题:

java: 当 SomeClass 实现 SomeInterface 时从 List<SomeClass> 转换为 List<SomeInterface>

我脑抽筋了:我有一个publicinterfaceSomeInterface和一个staticprivateclassSomeClass并试图返回List从我的一种方法,但我得到了错误(在下面的returnlist;行):Typemismatch:cannotconvertfromListtoList如何在不创建新列表的情况下解决此问题?澄清:我不想将列表创建为List(也许是显而易见的解决方案)因为私下里我想维护一个List允许将来访问SomeClass的方法,而不是公共(public)接口(interface)中的方法。这在下面的示例中没有显示,但在我的实际程序中我需要它。impo

Java:如何将 List<?> 转换为 Map<String,?>

这个问题在这里已经有了答案:HowtoconvertListtoMap?(20个答案)关闭7年前。我想找到一种方法来获取下面的对象特定例程并将其抽象为一个方法,您可以通过该方法传递类、列表和字段名以取回Map。如果我能得到关于使用的模式或等的一般指示,这可以让我在正确的方向上开始。Mapmapped_roles=newHashMap();Listp_roles=(List)c.list();for(Roleel:p_roles){mapped_roles.put(el.getName(),el);}为了这个?(伪代码)MapMapMe(Classclz,Collectionlist,S

java - List<List<?>> 和 List<List> 是 java 中不兼容的类型

这个问题在这里已经有了答案:CannotconvertfromListtoList>(3个答案)关闭7年前。我没有得到这段代码以任何方式编译:Lista=newArrayList();List>b=newArrayList();a=b;//incompatibletypesb=a;//incompatibletypesjava好像没有考虑List和List在涉及泛型时是同一类型。这是为什么呢?有什么好的出路吗?上下文有一个具有以下签名的库函数:publicSet>getSubTypesOf(finalClasstype).这适用于作为参数传递的简单类型,但在泛型的情况下,结果未使用通配

java - 如何使用 Java 10 检测 zip-bomb

ApachePOI会定期打开zip文件,因为MicrosoftExcel/Word/...文件是较新格式的zip文件。为了防止某些类型的拒绝服务攻击,它在打开Zip文件时具有不读取扩展很多的文件的功能,因此可以通过提供一个小的恶意文件来淹没主内存,当解压缩到内存中。ApachePOI将此称为zip-bomb-protection。在Java9之前,它可以通过反射使用一些变通方法将计数输入流注入(inject)ZipFile/ZipEntry以检测扩展数据中的爆炸,并通过这种方式防止压缩炸弹。但是在Java10中,这不再是可能的,因为ZipFile的实现以防止这种情况发生的方式发生了变化

java - 在 Java 运行时从 zip 文件读取 ESRI shapefile - DataStoreFinder.getDataStore(connectParameters) 返回 null

我们正在构建一项服务,用于上传包含ESRI形状文件的zip文件。该服务应该能够读取shapefile并对其内容进行处理。所以我构建了一个将zip文件解压缩到临时文件夹(System.getProperty("java.io.tmpdir")的子文件夹)的类。另一个类从Unzip类调用unzip方法,然后尝试使用Geotools读取解压缩的shapefile。它使用GeotoolsDataStoreFinder.getDataStore(Mapparams)方法从解压缩的shapefile创建数据存储。这里出现了问题:getDataStore方法返回null。我测试了URL,它看起来没问

为 glob 或类似 Ant 的模式 "*foo/**/*.txt"返回 List<File> 的 Java 库?

我正在寻找一个库,它会提供一种方法,该方法会给我一个匹配给定类Ant模式的文件列表。对于*foo/**/*.txt我会得到foo/x.txtfoo/bar/baz/.txtmyfoo/baz/boo/bar.txt等我知道这可以通过DirWalker和PathMatchermat=FileSystems.getDefault().getPathMatcher("glob:"+filesPattern);,但我更喜欢一些维护的库。我希望CommonsIO拥有它,但没有。更新:我很高兴重用Ant的代码,但更喜欢比整个Ant更小的东西。 最佳答案

java - 为什么 Java List 遍历比文件 readline 慢?

我有这段代码:while((line=br.readLine())!=null){StringWords[]=line.split("");outputLine=SomeAlgorithm(Words);output.write(outputLine);}正如您在上面的代码中看到的,对于输入文件中的每一行,我都读取一行,在其上运行一些算法,基本上修改读取的那行,然后将输出行写入某个文件。文件中有9k行,整个程序在我的机器上花了3分钟。我想,好吧,我为算法的每一(行)运行执行2个I/O。所以我正在做大约18kI/O。为什么不先将所有行收集到ArrayList中,然后遍历列表并在每一行上运

java - IntelliJ 不接受 Java8 和 List/Map 末尾的菱形

我使用的是最新的JDK,从项目创建到现在所有内容都设置为Java8或SDK8。仍然,intelliJ给我这个问题:红灯告诉我换Java7。这是我的项目设置:这是模块部分:如你所见;报错的时候特意把SDK默认的改成了java8,但是没有结果。编译器设置如下所示:我在macbook上,intelliJ是社区版本。有谁知道为什么会这样以及我如何解决它? 最佳答案 尝试运行该项目,如果这是您的错误消息:然后我建议您稍微查看一下您的pom文件。这个项目是使用intelliJmaven项目设置构建的,它缺少这行可爱的代码:org.apache.

【C++】list模拟实现+反向迭代器

list模拟实现list定义list用法listiterator的使用begin()+end()rbegin()+rend()reverse()sort()merge()unique()remove()splice()list模拟实现struct和class的区别list三个类模板默认成员函数构造函数拷贝构造函数赋值运算符重载析构函数数据修改操作push_back()push_front()pop_back()pop_front()swap()clear()insert()erase()容量操作sizeempty数据访问操作front()back()迭代器正向迭代器构造函数begin()+en