`
kingxianstar
  • 浏览: 19621 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。 这里简单分析他们的区别。 1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。(最主要的区别) 2.HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以,只容许有一个null值的key,可以有多个null值的value)。 3.HashTable有一个contains(O ...
在含有负数的一百个整数中,找出连续三个数之和最大的部分,并打印出来。找工作,遭受各种打击,只怪自己技术不佳,没办法,好好学吧。每次笔试面试都是对自己的一种提高! 1.只循环一次:初始值为前3个数之和,相邻的3个数和的差为后一个数与前3个数中的第一个数之差; 2.当差值为正时,当前3个数之和比前一个最大和大,差值为负时,继续向后移累加差值,直至为正 import java.util.*; public class MaxSum { public static void init(int[] arr) { Random rad = new Random() ...
最近面临着找工作,就经常上网找一些常见的面试题,这次的就是把阿拉伯金额转换为中文的金额,不多说,上代码 import java.math.RoundingMode; import java.text.NumberFormat; import java.util.HashMap; import java.util.Map; /** * 将阿拉伯数字金额转换成中文大写数字金额的转换类 */ public class ConvertToCNMoney { /** * 将阿拉伯数字金额转换成中文大写数字金额 * @param money ...
《Java编程思想》中文版第四版的315页的第二段是这么写的:      所有的类都是在对其第一次使用时,动态加载到JVM中的。当程序创建第一个对类的静态成员的引用时。就会加载这个类。这个证明构造器也是类的静态方法,即使在构造器之前并没有使用static关键字。因此,使用new操作符创建类的新对象也会被当作对类的静态成员的引用。 对这句话感到非常的不理解,“这个证明构造器也是类的静态方法,即使在构造器之前并没有使用static关键字。” 看到一篇文章http://rednaxelafx.iteye.com/blog/652719讲的是实例构造器是不是静态方法
      一般来说,比起功能有限的String,我们更愿意构造功能强大的正则表达式对象。只需要导入java.util.regex包,然后用static Pattern.compile()方法来编译你的正则表达式即可。它会根据你的String类型的正则表达式生成一个pattern对象。接下来,把你想要检索的字符串传入Pattern对象的matcher()方法。mathcer()放法会生成一个Matcher对象,他有很多功能可用。列入,他的repalaceAll()方法能就爱那个所有匹配的部分都替换成你输入的参数。       作为一个示例,下面的类可以用来测试正则表达式,看看它们能否匹配一个输入 ...
      在某些系统中,需要使用和管理很多图片,现在图片占用的资源空间越来越大,因此需要将图片缩小,特别是一些网站上的相册会有很多的缩略图。       在实现缩略图的过程中,主要使用BufferedImage和ImageIO两个类。首 ...
      重写equals()方法主要是为了方便比较两个对象的内容是否相等。hashCode()方法用于返回调用该方法的对象的散列码值,此方法返回整数类型的散列码值。    一个类如果重写了equals()方法,通常也有必要重写hsahCode()方法,目的是为了维护hashCode()方法的常规协定,该协定声明相等对象必须具有相等的散列码。hashCode的常规协定主要有以下几点。       【1】在Java应用程序执行期间,在同一个对象上多次调用hashCode()方法时,必须一致的返回相同的整数,前提是对象上的equals()方法比较中所用的信息没有被修改。从某一应用程序的一次执行到同 ...
在实现数组元素排序时,排序的算法有很多,例如冒泡排序法,选择排序法,插入排序法以及快速排序法,来介绍插入排序和快速排序的具体实现吧 插入排序法    插入排序法德基本思路是:将要排序的数组分成两部分,每次从后面的数组部分中取出索引最小的数组元素,插入到前面数组的适当位置中。通常在数组开始排序时,将数组的第一个元素作为一组,后面的所有元素被当成另一组。插入排序法德实现代码如下: public class insertSort{ public static void main(String args[]){ int arr[]={1,-33,-55,-77,88,91,-232,323 ...
     为了方便程序员进行频繁的赋值操作,Java提供了很多扩展赋值运算符,例如+=、-=、/=、*=等。具体的使用示例如下 int a=10; a+=1; System.out.println(a);      上述代码的输出结果为11。“a+=1”的作用与“a=a+1”等价,在一般情况下两种语句是可以通用的,但是有些情况却不可以通用。代码如下: short s=3; s+=1;//编译通过 s=s+1;//编译发生错误       在上述代码中,s=s+1语句编译错误的原因是因为右边s+1表达式的计算结果为int类型,而左边变量的类型是short类型,违反了自动转 ...
昨天无意中浏览到Magic的博客,发现里面又很多的好东西,讲的是J2EE学习备忘录。里面有很多关于Java基础知识的文章,在算法这个篇章下有一篇是关于不用系统函数将字符串转化为数字,正好前几天的面试我遇到了这个问题,还有些问题没有搞明白,也知道自己的缺点是缺少动手巧代码。结合前几天研究的parseIn()方法的源代码,贴出来让大家看看。里面还有些问题,虽然可以处理各种进制的转换,但是却不能手动输入是多少进制,因为这里有涉及到字符串转数字的操作,希望大家能帮帮忙,看看还有什么更好的办法! import java.util.*; public class StringToInt{ publ ...
昨天一个人跑到昆山市区的新华书店,看到了一本叫做《你必须知道的261个java语言问题》,讲的都是一些很基础,但大家几乎都没明白的问题。至少对我来说是这样的。感觉很不错,不过并没有下手,因为新华书店的书都是不打折的,所以准备回来再往上订购。看到其中一个题目就是参数传递中的传值和传址的区别,讲的很清楚。引因为上次面试的时候面试官就问道了我这道题,再会想到自己当时的回答,惭愧啊! 不多说了,早上起来试着自己写了一段代码,以证实书上所讲的内容 public class CallValueOrAddress{ private String name; private int age; ...
今天参加了开发类的面试,面试官问了我一个问题,给你一个String ,让你转换为Int。我说用ParseInt()方法进行转化,没想到他说不要用这个现成的方法,我当时还真没想到。回来上网查了一下,看了parseInt()的源代码 ,豁然开朗!这就是差距啊! 下面是从网上找来的: 我们经常为用到Integer.valueOf(String str)这个方法,如果字符串格式不对,这个方法会抛出一个系统异常NumberFormatException 这里我们就要分析一下这个方法,其中Byte,Short也是调用了Ingeter中的方法. 在Integer类中的定义如下: public static ...
Global site tag (gtag.js) - Google Analytics