类别归档:Java

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。

RSS feed of Java

[LeetCode]Design Twitter

题目描述:

LeetCode 355. Design Twitter design-twitter

Design a simplified version of Twitter where users can post tweets, follow/unfollow another user and is able to see the 10 most recent tweets in the user's news feed. Your design should support ...

继续阅读

一道关于Java变量初始化的面试题

首先来看笔者遇到的一道面试题,阅读下面的代码并给出执行结果:

class Singleton {
    private static Singleton singleton = new Singleton();
    public static int counter1;
    public static int counter2 = 0;

    private Singleton() {
        counter1++;
        counter2++;
    }

    public static Singleton getInstance() {
        return singleton;
    }
}

public class TestSingleton {
    public static void main(String[] args) {
        Singleton s ...

继续阅读

Java实现数组洗牌算法

数组洗牌是指将一个数组中的元素顺序打乱,随机重新排列。

算法实现思路如下:

按照下标从大到小的顺序遍历数组,记下标为i

遍历时生成范围[0, i]的随机数j,交换下标i与下标j的数组元素

参考:java.util.Collections类中的shuffle方法

Java代码:

public static void shuffle(int[] nums) {
    Random rnd = new Random();
    for (int i = nums.length - 1; i > 0; i--) {
        int j ...

继续阅读

随风而逝的StringTokenizer[StackOverflow问答]

数年以前,在刚开始接触Java时,曾经学习过一个用于分割字符串的工具类:StringTokenizer。

例如将字符串"this is a test"按照空白字符进行分割,StringTokenzier的用法示例如下:

StringTokenizer st = new StringTokenizer("this is a test");
while (st.hasMoreTokens()) {
    System.out.println(st.nextToken());
}

虽然Java文档中似乎没有将StringTokenizer标记为deprecated,但实际上这个类已经很少有人在使用了。其功能已经为String.split()方法所取代,上例的字符串可以使用String.split()方法进行分割:

String tokens[] = "this is a test".split ...

继续阅读