Java面试题之简单编程题

这篇博客分享了两道简单的Java编程题,一是使用Arrays.sort()方法配合Lambda表达式实现数组元素的倒序输出,二是实现了一个线程安全的懒汉式单例。题目适合面试或复习基础知识,单例设计模式需满足构造器私有化、静态变量保存实例及对外提供获取实例的方法。

这里记录一些找工作时笔试或机试会出的编程题,比较简单,实际也是复习一些基础。

1、将一个数组中的数进行倒序输出

public class Test02 {

	public static void main(String[] args) {
		Integer	arr[] = {212,4,662,123,78,345,34,56,85,211};	
		Arrays.sort(arr, (x,y) -> Integer.compare(y, x));
		System.out.println(Arrays.toString(arr));
	}
}

使用java本身提供的Arrays.sort()方法,用Lambda表达式实现Comparable的compare()方法

2、写一个懒汉式单例

public class Singleton14 {

	private static Singleton14 instance;
	
	private Singleton14() {
		
	}
	
	public static Singleton14 getInstance() {
		if(instance == null) {
			//有线程安全问题,需要加锁
			synchronized(Singleton14.class) {
				if(instance == null) {
					instance = new Singleton14();
				}
			}
		}
		return instance;
	}
	
	public static void main(String[] args) {
		System.out.println(Singleton14.getInstance());
	}
}

说明:单例需满足以下几点
(1)构造器私有化
(2)自行创建,且用静态变量保存
(3)向外提供这个实例

比较忙,待添加…

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值