草庐IT

int_void

全部标签

java - int vs long 的迭代速度

我有以下两个程序:longstartTime=System.currentTimeMillis();for(inti=0;i和longstartTime=System.currentTimeMillis();for(longi=0;i注意:唯一的区别是循环变量的类型(int和long)。当我运行它时,无论N的值如何,第一个程序始终在0到16毫秒之间打印。第二个需要更长的时间。对于N==Integer.MAX_VALUE,它在我的机器上运行大约1800毫秒。运行时间似乎在N中或多或少呈线性。这是为什么呢?我想JIT编译器将int循环优化到死。并且有充分的理由,因为显然它什么都不做。但为什

java - 如何计算 Map<Int,Int> 的中值?

对于一个映射,其中键表示一个序列的数字,值表示该数字在序列中出现的频率,Java中的算法实现如何计算中位数?例如:1,1,2,2,2,2,3,3,3,4,5,6,6,6,7,7在map中:Mapmap=...map.put(1,2)map.put(2,4)map.put(3,3)map.put(4,1)map.put(5,1)map.put(6,3)map.put(7,2)doublemedian=calculateMedian(map);print(median);会导致:>print(median);3>所以我正在寻找的是calculateMedian的java实现。

java - 使用 int 调用 setProperty 但 getProperty 返回 Long on google app engine persistent storage

当将此代码与DatastoreService一起使用时,我得到ClassCastExceptionLongacnnotbecasttointegerinfromEntity。这是正常行为吗?(我在使用eclipse的google插件在本地计算机上调试时出现此行为)classUserData{privateint_integerval=0;privateString_stringval="";publicEntitygetEntity(){Entityret=newEntity("User",key);ret.setProperty("property1",_integerval);re

java - 在 for 循环中, (int i : tall) do, 其中 tall 是一个 int 数组

这个问题在这里已经有了答案:HowdoestheJava'foreach'loopwork?(29个答案)关闭9年前。正如标题所说,一些人告诉我,如果我想打印数字数组中所有内容的总和,我应该将上述参数用于for循环(如果进一步解释,代码将在后面)是需要的)。但是,它的作用的确切定义是什么?我的意思是:-部分。是吗;对于数组中的每个数字itall?importjava.util.*;classUke36{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);int[]tall=newint[5];for

java - 使用 list 参数作为返回值多次调用 void 方法比返回 List 的方法更好?

简而言之,我的问题是:如果一个方法被多次调用,从内存消耗的角度来看,让它void并使用List作为参数是否更好?返回它的值?万一它真的节省了内存,这不是一种不好的做法,因为代码更难阅读吗?让我举个例子来说明一下。假设我有一个Car类,每辆汽车都必须属于一个brand。我有一个从品牌列表中返回所有汽车的方法,该方法使用foreach和一个从一个品牌中检索所有汽车的方法。像下面的代码:privateListgetCarsByBrands(Listbrands){Listresult=newArraylist;for(Brandbrand:brands){result.add(getCars

java - hibernate 。 PSQL异常 : bad value for type int : admin

嗯,我有一个使用JAVA和Hibernate4.3.1的桌面应用程序。现在我只有两个实体(用户和角色)。用户...@ManyToOne(fetch=FetchType.LAZY)@Fetch(FetchMode.JOIN)@JoinColumn(nullable=false,name="fk_role")privateRolefk_role;...作用...@Column(name="admin",nullable=false)@Type(type="org.hibernate.type.BooleanType")privatebooleanadmin=false;...我试过@Typ

Java + Count 从 int 数组中复制而不使用任何 Collection 或另一个中间数组

作为Java面试试卷的一部分,我有以下问题需要解决。但是我有点想知道如果没有任何Collection或中间Array,我如何实现它。问题:-在不使用任何集合或其他中间数组的情况下从int数组中计算重复项Inputvalues:-{7,2,6,1,4,7,4,5,4,7,7,3,1}Output:-Numberofduplicatesvalues:3Duplicatesvalues:7,4,1我已经实现了以下解决方案,但还没有完成。有人知道吗?谢谢。publicstaticvoidduplicate(intnumbers[]){for(inti=0;i 最佳答

java - 在 JDBC ResultSet 中,当对 int 结果列调用 getLong() 或 getShort() 时会发生什么情况?

假设我有一个JDBCResultSet,我调用了getLong()或getshort()方法。对于以下哪种SQL类型{SMALLINT,INT,BIGINT}我应该得到long,对于哪些类型我应该得到错误?换句话说,如果我有一个INT并且我想要一个SMALLINT(Ashort),我会得到它,还是会得到一个错误?同样,如果我有一个INT并想要一个BIGINT(长整数),我会得到它,还是会得到一个错误?Javadocs(下面列出)什么也没说。publiclonggetLong(intcolumnIndex)throwsSQLExceptionRetrievesthevalueofthed

java - Java 整数类型原始类型是否在转换类型的 MAX_INT 处转换为 "capped"?

我试图追踪一些非常奇怪的Java行为。我有一个涉及double的公式,但“保证”给出整数答案——具体来说,是一个无符号的32位整数(唉,Java做得不好)。不幸的是,我的回答有时不正确。最终我发现了这个问题,但对我来说这种行为仍然很奇怪:一个double直接转换为一个int似乎对于有符号整数,上限为MAX_INT,而double转换为long,then转换为int给出了预期的答案(-1;无符号32位整数的MAXINT表示为带符号的32位整数)。我写了一个小测试程序:publicstaticvoidmain(String[]args){//ThisistheMaxIntfora32-bi

java - 一起使用 Platform.exit() 和 System.exit(int)

我想关闭具有指定返回码的javafx应用程序。浏览SO上的答案,我发现了以下成语:Platform.exit();System.exit(0);例如这里:StopthreadsbeforeclosemyJavaFXprogram或此处:JavaFXapplicationstillrunningafterclose这两个方法一个接一个执行,看起来我们在尝试复制一些Action。我假设,如果Platform.exit()成功,它不应该返回到调用System.exit(0)的地方。但是,如果Platform.exit()仅触发在另一个线程上运行的一些关闭操作,返回并且可以调用System.e