将字符串或数字倒序输出

将字符串或数字倒序输出,以使这些呈散列分布,用于作为hbase rowkey的一部分,避免region的读写热点

public class StringUtil {
	public static void main(String[] args) {
		long start = System.currentTimeMillis();
		for (int i = 0; i < 10; i++) {
			System.out.println(reverseLong(78945612399l));
		}
		System.out.println(System.currentTimeMillis() - start);
	}

	/**
	 * 将一个数字倒序输出, 先将数字转换为字符串,然后利用reverse函数
	 *
	 * @param num
	 * @return
	 */
	public static String reverseNumberByStr(long num) {
		StringBuffer res = new StringBuffer(Long.toString(num));
		res.reverse();
		return res.toString();
	}

	/**
	 * 将一个long型数字倒序输出
	 *
	 * @param n
	 * @return
	 */
	public static long reverseLong(long n) {
		long reverse = 0;
		long part = 0;
		while (n > 0) {
			part = n % 10;
			reverse = reverse * 10 + part;
			n /= 10;
		}
		return reverse;
	}

	/**
	 * 将字符串倒序输出,使用reverse函数,效率很高
	 *
	 * @param str
	 * @return
	 */
	public static String reverseString(String str) {
		StringBuffer res = new StringBuffer(str);
		res.reverse();
		return res.toString();
	}

	/**
	 * 将字符串倒序输出,使用charAt,效率不及reverseString
	 *
	 * @param str
	 * @return
	 */
	public static String reverseStrByCharAt(String str) {
		String res = "";
		for (int i = str.length() - 1; i > -1; i--) {
			res += str.charAt(i);
		}
		return res;
	}
}
时间: 2016-05-13
Tags: hbase, rowkey, 倒序

将字符串或数字倒序输出的相关文章

ios-IOS中怎样把一个字符串倒序输出

问题描述 IOS中怎样把一个字符串倒序输出 在IOS开发中,怎么把一个字符串倒序输出?如 NSString *string = @""qwer"";怎样输出一个字符串为 rewq . 解决方案 NSString *string = @""qwer""; NSMutableString *newString = [[NSMutableString alloc] initWithCapacity:string.length]; f

C语言中字符串和数字的相互转换实现代码

以下是对C语言中字符串和数字的相互转换实现代码进行了分析介绍,需要的朋友可以参考下   1.数字转换为字符串sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出. sprintf 是个变参函数,定义如下: int sprintf( char *buffer, const char *format [, argument] ... ); 除了前两个参数类型固定外,后面可以接任意多个参数. printf 和sprintf 都使用格式

Javascript中如何将字符串转为数字

本文介绍Javascript中数字转字符串及字符串转数字的方法 Javascript中最简洁的数字转字符串方法是: var num = 123; var string = num + ""; 也就是在数字后面加上一个空字符.那么最简洁字符串转数字方法呢? 字符串只能进行加法(拼接) 字符串进行加法(拼接)是很常见的,但是字符串进行减法.乘法.除法呢? 这似乎很难定义,实际上字符串没有减法.乘法.除法操作. 但Javascript是动态语言,如果你拿两个字符串进行这三种操作的时候,他会尝

Symbian中把字符串变成数字的方法

我们知道C语言中又很方便的函数,很多种方法可以把字符串变成数字, 比如 char * p = "100" ; int a; a = atoi(p) ; // 此时a的值就是100了. 或者用这种办法也可以,就是慢点: sscanf(p, "%d", &a) ; 这样也可以达到同样的效果. 但是symbian开发环境中遇到这种情况,我们该怎么做呢? 我们可以考虑采用TLex类,来实现同样的功能. TBufC buffer = _L("124"

C#获得字符串中数字或字母的长度

在程序中获得字符串中数字或字母的长度时,可以先使用CharEnumerator对象的MoveNext方法循环访问字符串中的每个字符,并将字符用System.Text.Encoding类中ASCII编码方式的GetBytes方法进行编码,然后判断经过编码之后的字符的ASCII码值是否介于指定的值之间,如果是,则将其添加到一个数组中,最后获得该数组的项数即可.获得字符串中数字或字母长度的关键代码如下: ArrayList itemList = new ArrayList();CharEnumerat

Groovy Tip 37 字符串和数字之间的转化

字符串和数字之间的转化是我们在项目中必然要碰到的问题,因为我们从用户界面取得的变量的值肯 定是字符串. 所以,我们在项目中经常要做的事情就是:第一,需要对用户的输入进行校验,以判断用户的输入是 否是一个数字:第二,如果是的话,我们则需要进一步把它转化为数字,以方便我们进行计算. 在Java语言中,我们要判断一个字符串是否是数字,基本上有两种方法,第一是直接进行转化,如果 有Exception抛出,则该字符串非我们所需要的数字.如下面就是一段判定一个字符串是否为整型数字的 代码: public s

php结合正则获取字符串中数字

  这篇文章主要给大家汇总介绍了php结合正则获取字符串中数字的几种方法,十分的简单实用,有需要的小伙伴可以参考下. php结合正则获取字符串中数字 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <?php $patterns = "/d+/"; //第一种 //$patterns = "/d/"; //第二种 $st

c#中判断字符串是不是数字或字母的方法

这篇文章介绍了C#判断字符串是否数字或字母的实例,有需要的朋友可以参考一下   一.判断字母 复制代码 代码如下: string str = Console.ReadLine(); if (char.isLetter(str)) { } else if (char.IsDigit(str)) { } if(ch>='a'&&ch<='z') 小写字母 if(ch>='A'&&ch<='Z') 大写字母 数字也一样. 判断汉字一般是输入 >255

printf-这个程序错在哪里?为什么把所有的数字都输出出来了?

问题描述 这个程序错在哪里?为什么把所有的数字都输出出来了? int main(){int ij;for(i=2;i<100;i++){for(j=2;j<i;j++){if (!i%j)break;}if (j==i||i==2)printf(""%dn""i);}} 解决方案 if (!i%j)break;->if (!(i%j))break;否则优先级错了. 解决方案二: 因为每一个数都能被自己整除,所以,i 从2开始就会都会有输出,直到自己