草庐IT

map-files

全部标签

java - 如何使用流合并 map 集合

我有一组map:Collection>myCol=table.values();我想把它转换成mapMap这样,对于匹配的键,值被汇总。使用for循环,这很简单:MapoutMap=newHashMap();for(Mapmap:myCol){outMap=mergeMaps(outMap,map);}和mergeMaps()定义为mergeMaps(Mapm1,Mapm2){MapoutMap=newTreeMap(m1);m2.forEach((k,v)->outMap.merge(k,v,Double::sum));/*sumvaluesifkeyexists*/returnou

java - Map<K1, K2, V> 的任何实现,即两个键?

我需要一个有两个键的map,例如Map2_employees;这样我就可以_employees.put(e.ssn(),e.empId(),e)后来_employees.get1(someSsn);_employees.get2(someImpId);甚至_employees.remove1(someImpId);我不确定为什么我想停在两个,为什么不更多,可能是因为我现在需要的就是这种情况:-)但是类型需要处理固定数量的键以保证类型安全——类型参数不能是vararg:-)感谢任何关于为什么这是一个坏主意的指示或建议。 最佳答案 我想

java.util.zip.ZipException : too many entries in ZIP file

我正在尝试编写一个Java类来提取包含约74000个XML文件的大型zip文件。尝试使用javazip库解压缩它时出现以下异常:java.util.zip.ZipException:ZIP文件中条目太多不幸的是,由于项目的要求,我无法在zip到达我之前对其进行分解,并且解压缩过程必须自动化(无需手动步骤)。有什么方法可以利用java.util.zip或某些第3方Javazip库来解决此限制?谢谢。 最佳答案 使用ZipInputStream而不是ZipFile应该可以做到这一点。 关于j

JAR 中的 Java Desktop.open(File f) 引用文件?

Desktop.open(Filef)可以引用位于JAR中的文件吗?我尝试使用ClassLoader.getResource(Strings),将其转换为URI,然后从中创建文件。但这会导致IllegalArgumentException:URIisnothierarchical。URLurl=ClassLoader.getSystemClassLoader().getResource(...);System.out.println("url="+url);//urlisvalidDesktop.getDesktop().open(newFile(url.toURI()));一种可能性

Java : Expose only a single package in a jar file

我想要一个只有API包可以访问的jar文件。所有其他包(包含实现)将无法被另一个jar(或任何其他类)访问。这可能吗?如果是,怎么办? 最佳答案 当前计划用于Java8(2012年?)的是JSR294.此JSR将更好的模块化语言结构引入Java。Today,animplementationcanbepartitionedintomultiplepackages.Subpartsofsuchanimplementationneedtobemoretightlycoupledtoeachotherthantothesurrounding

java - maven 安装仅在第二次尝试后抛出 "error in opening zip file"

我尝试在我的项目上使用一些依赖项运行maveninstall:log4jlog4j1.2.15org.slf4jslf4j-log4j121.5.2ch.qos.logbacklogback-classic0.9.24org.hibernatehibernate-core3.3.2.GAorg.hibernatehibernate-annotations3.4.0.GA我第一次运行mvninstall它运行得很好(构建成功)但是第二次(“在我对代码进行一些更改之后”)我尝试运行mvninstall并且maven抛出“打开zip文件时出错”。[ERROR]error:errorreadi

java - 按键连接两个 map

我有两张map:MapmapOne={(1,"a"),(2,"b")};MapmapTwo={(1,10.0),(2,20.0)};并且我想通过Integer值将这些映射组合成一个,所以结果映射是MapmapResult={("a",10.0),("b",20.0)};有没有比遍历条目集更容易做到这一点的方法? 最佳答案 假设两个映射的键匹配并且映射具有相同数量的条目,对于Java8,您可以将其写在一行中:Mapmap=mapOne.entrySet().stream().collect(toMap(e->e.getValue(),

Java 错误 - 错误的源文件 : file does not contain class x . 请删除或确保它出现

最近为了考试开始学习Java。在学习包时,尝试了这个并得到了一条错误消息。我做的是//CreatingclassA(Withinpackagethepackage:com.test.helpers)packagecom.test.helpers;publicclassA{publicvoidsayHello(){System.out.println("HelloWorld");}}//AndthentheclassApputilisingtheclassAimportcom.test.helpers.*;publicclassApp{publicstaticvoidmain(Strin

java - 使用 java.nio.file.Paths 接口(interface)时缺少方案 (IllegalArgumentException)

这是一个非常简单的Java问题。我在linux系统上使用Java8和eclipsekepler。我一直在尝试NIO.2。我的代码是:packagelucasTest;importjava.io.IOException;importjava.net.URI;importjava.net.URISyntaxException;importjava.nio.file.*;publicclassLucas{publicstaticvoidmain(String[]args)throwsURISyntaxException{URIu=newURI("./Lucas.java");Pathp=Pa

java - 如何保留 Map.of 工厂中的插入顺序?

Java9提供了Map.of()功能来轻松创建具有固定值的map。问题:我想创建一个保留插入顺序的映射,如LinkedHashMap。那家工厂可以吗?至少map.of()不保留顺序... 最佳答案 确实没有像LinkedHashMap::of这样的工厂方法,而且Map本身没有顺序,所以我看到它的唯一方式就是构建一个LinkedHashMap如果你真的需要一个。顺便说一下,来自theJEPitself:Staticfactorymethodsonconcretecollectionclasses(e.g.,ArrayList,Hash