java实例分析,java程序的简单实例分析

这篇博客展示了如何在Java中使用HashMap存储数据并按特定顺序输出,以及如何对数组进行随机化和排序操作。通过示例代码解释了HashMap的内部存储原理和直接插入排序算法的应用。同时,提供了将这两个概念结合的示例,演示了如何在HashMap中随机选取元素并进行排序的过程。
摘要由CSDN通过智能技术生成

package map1;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class T1 {

public static void main(String args[]) {

HashMap hashmap = new HashMap();

hashmap.put("dog", "犬");

hashmap.put("rabbit", "兎");

hashmap.put("cat", "猫");

hashmap.put("bug", "虫");

hashmap.put("chicken", "鶏");

hashmap.put("cattle", "牛");

hashmap.put("pig", "豚");

Set set = hashmap.entrySet();

Iterator iterator = set.iterator();

while (iterator.hasNext()) {

Map.Entry mapentry = (Map.Entry) iterator.next();

System.out.println(mapentry.getKey() + "==" + mapentry.getValue());

}

}

}

运行结果:

chicken/鶏

rabbit/兎

cat/猫

bug/虫

cattle/牛

dog/犬

pig/豚

分析:

HashMap实际上是一种数据结构,数据按照操作系统设定的顺序进行存放。K key, V value) 方法就是存入数据的方法。key相当于一个名字,value就是其对应的内容。当调用

package map1;

public class T2 {

public static void main(String args[]) {

String[] colors = {

"白","黒","黄","水色","赤","灰色","紫","オリーブ","栗色"

};

System.out.print("今日、君と似合う服の色は"+colors[(int)(colors.length*Math.random())]+"です。");

}

}

运行结果(这只是随机产生的结果中的一个):

今日、君と似合う服の色はオリーブです。

分析:

Math.random())方法产生的将是一个0~1之间的double型的数,将它与colors.length(字符串长度)相乘可以确保产生的是在数组下标范围内的数。

例三:

程序:

public class T3 {

public static void main(String args[]) {

String[] strings = {"yanlanzhen", "zhaoweidong", "xiexiaojing",

"liuxuebing", "zhaoyang", "liupengfei"};

String temporary = null;

for (int j =strings.length-1; j>0; j--) {

for (int i = 0; i < j; i++) {

if (strings[i].compareTo(strings[i + 1]) <= 0) {

temporary = strings[i];

strings[i] = strings[i + 1];

strings[i + 1] = temporary;

}

}

}

for (int i = 0; i < strings.length; i++) {

System.out.print("\""+strings[i]+"\"" + " ");

}

}

}

运行结果:

"zhaoyang" "zhaoweidong" "yanlanzhen" "xiexiaojing" "liuxuebing" "liupengfei"

分析:

这是对字符串进行直接插入排序的程序,可以在这个程序中将前两个用到的方法综合运用,不妨试一下?

我是这样想的:

综合的例子:

package map1;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class T123 {

public static void main(String args[]) {

ArrayList strings = new ArrayList();

strings.add("yanlanzhen");

strings.add("zhaoweidong");

strings.add("xiexiaojing");

strings.add("liuxuebing");

strings.add("zhaoyang");

strings.add("liupengfei");

String temporaryS = null;

int temporaryI = 0;

String[] rStrings = new String[6];

HashMap hashmap = new HashMap();

for (int i = 0; i < strings.size(); i++) {

hashmap.put(strings.get(i), i+"");

}

Set set = hashmap.entrySet();

Iterator iterator = set.iterator();

System.out.print("HashMapにある順番は   ");

while (iterator.hasNext()) {

Map.Entry mapentry = (Map.Entry) iterator.next();

System.out.print(mapentry.getValue() + " ");

}

for (int j = strings.size(); j > 0; j--) {

temporaryI = (int) (j * Math.random());

rStrings[j - 1] = strings.get(temporaryI);

strings.remove(temporaryI);

}

System.out.print("\nランダム化後の順番は    ");

for (int i = 0; i < rStrings.length; i++) {

System.out.print(hashmap.get(rStrings[i]) + " ");

}

for (int j = rStrings.length - 1; j > 0; j--) {

for (int i = 0; i < j; i++) {

if (rStrings[i].compareTo(rStrings[i + 1]) <= 0) {

temporaryS = rStrings[i];

rStrings[i] = rStrings[i + 1];

rStrings[i + 1] = temporaryS;

}

}

}

System.out.print("\nソートされた順番は        ");

for (int i = 0; i < rStrings.length; i++) {

System.out.print(hashmap.get(rStrings[i])+" ");

}

}

}

运行结果:

HashMapにある順番は   0 3 1 2 5 4

ランダム化後の順番は    5 2 3 1 4 0

ソートされた順番は        4 1 0 2 3 5

posted on 2007-10-17 16:24 静儿 阅读(1552) 评论(2)  编辑  收藏 所属分类: 技术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值