java实验报告实验3答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三熟悉常用java工具包并运用编程

实验目的:

本实验旨在巩固同学们对上课所讲java.util工具包中Collection,List,Set,Map加深理解,对其用法编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。

实验内容:

本实验的内容为:用Collection,List,Set,Map来存储数据,并进行排序,任何用Iterator,ListIterator或者Enumeration来打印其结果(按顺序和降序排列打印)。共分为四部分部分(前三部分必做,如果选第四个,前三个可以不做。。):

(1)按顺序把1,10,5,7,6,2,9,20,14,存入到List中(注:允许自己自定义任何数),并对其进行排序,打印其升序和降序排列的结果。然后再向List中位置为第四位插入数35看看会有啥结果?再向List中插入字符串“ddy”,试猜想排序是否会出错?然后看看运行结果是啥?

程序:

import java.util.*;

public class SY3

{

public SY3()

{

List list=new ArrayList();

list.add(1);

list.add(10);

list.add(5);

list.add(7);

list.add(6);

list.add(2);

list.add(9);

list.add(20);

list.add(14);

list.add(35);

list.add("ddy");

System.out.println("原序列:");

for(int i=0;i<=list.size()-1;i++)

{

System.out.println(list.get(i));

}

System.out.println("新序列");

for(int i=0;i<=list.size()-1;i++)

{

Collections.sort(list);

Collections.reverse(list);

System.out.println(list.get(i));

}

}

public static void main(String[] args)

{

new SY3();

}

}

结果如图

(2)按顺序把下面一组数([1,2] [3,4] [2,2] [6,4] [5,2] [4,4])存放到Map中(注:允许自己自定义任何数),并按key 和value的值进行排序。如果再向Map中加入[3,6] 看看排序结果有啥变化?并说出其理由。

程序代码:

package SY3;

import java.util.*;

public class Main

{

List li;

Map m1;

Enumeration em;

Iterator> it;

Iterator lit;

Collections ce;

Map.Entry m4;

List> lm;

public Main()

{

li=new ArrayList();

li.add(7);

li.add(2);

li.add(6);

li.add(3);

li.add(1);

li.add(8);

li.add(9);

ce.sort(li);

ce.reverse(li);

lit=li.iterator();

while(lit.hasNext())

{

System.out.println(lit.next());

}

m1=new HashMap();

m1.put(1,2);

m1.put(3,4);

m1.put(2,2);

m1.put(6,4);

m1.put(5,2);

m1.put(4,4);

m1.put(3,6);

lm=new ArrayList>(m1.entrySet());

ce.sort(lm, new Comparator>()

{

public int compare(Map.Entry o1,Map.Entry o2) {

return o1.getValue()-o2.getValue();

}

}

it=lm.iterator();

while(it.hasNext())

{

System.out.println(it.next().toString());

}

}

public static void main(String[] args)

{

// TODO code application logic here

new Main();

}

}

运行结果:

结果说明:先按括号中的第二个值升序进行排序,如果出现同值,则按子一个值升序排列

(3)Map中的key值和value可不可以对不同类型的值或者对象同时混用进行排序?请对自己Map 编程进行修改并测试key和value排序结果是否会出错?(例如:字符串,双进度,Integer,Object,List,Set)。

程序代码

package Sy3;

import java.util.*;

public class HashMapSort

{

public staticvoid main(String [] args)

{

HashMap hm = new HashMap();

hm.put("a",5);

hm.put("c",7);

hm.put("d",8);

hm.put("v",0);

hm.put("m",3);

相关文档
最新文档