java实验报告实验3答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
Iterator lit;
Collections ce;
Map.Entry
List
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
ce.sort(lm, new Comparator
{
public int compare(Map.Entry
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.put("a",5);
hm.put("c",7);
hm.put("d",8);
hm.put("v",0);
hm.put("m",3);