实验十 集合编程
【开发语言及实现平台或实验环境】
Windows2000 或XP,JDK1.6与Eclipse 【实验目的】
1.掌握List、Collection、Set、Map、HashTable等常用数据结构的使用 2.进一步熟悉基于接口编程的特点
3. 掌握迭代器的用法 【实验要求】
1. 掌握List、Collection、Set、Map、HashTable等常用数据结构的使用。 2. 掌握迭代器编程 【实验内容】
1 Collection接口定义了存取一组对象的方法,其子接口Set 和List分别定义了存储方式: Set中的数据对象没有顺序且不可以重复。List中的数据对象有顺序且可以重复。Map接口定义料存取“键(key)—值(value)映射对”的方法。
2 Collection接口提供的方法:
3 Set 接口提供的方法与Collection接口中的方法一样,没有添加新的方法,只是Set容器中装的元素无顺序和不可重复,例1
import java.util.HashSet; import java.util.Set;
public class TestSet {
public static void main(String[] args) { } }
Set s1 = new HashSet(); Set s2 = new HashSet(); s1.add(\); s1.add(\); s1.add(\); s2.add(\); s2.add(\); s2.add(\);
Set sn = new HashSet(s1); sn.retainAll(s2);
Set su = new HashSet(s1); su.addAll(s2);
System.out.println(sn); System.out.println(su);
4 List接口提供的方法除Collection接口中的方法外,还添加了一些新的方法。
在java.util.Collections提供了一些对于List常用的算法,这些方法都是静态的,例2
import java.util.Collections; import java.util.LinkedList; import java.util.List;
public class TestList {
public static void main(String[] args){
List l1 = new LinkedList(); List l2 = new LinkedList(); for(int i=0;i<10;i++){
l1.add(\ + i);
}
}
}
System.out.println(l1); Collections.shuffle(l1); System.out.println(l1); Collections.reverse(l1); System.out.println(l1); Collections.sort(l1); System.out.println(l1);
System.out.println(Collections.binarySearch(l1, \));
4. Map集合把键值映射到某个值。一个键值最多只能映射一个值。 Key value
public void clear(): 清空整个数据集合;
public V get(K key):根据关键字得到对应值;
public V put(K key,V value v):加入新的“关键字-值”;
public V remove(Object key):删除Map中关键字所对应的映射关系;
public boolean equals(Object obj): 判断Map对象与参数对象是否等价,两个Map相等,当且仅当其entrySet()得到的集合是一致的。
public boolean containsKey(Object key):判断在Map中是否存在与关键字匹配的映射关系。
public boolean containsValues(Object value):判断在Map中是否存在与键值匹配的映射关系。
Map中实际上包括了关键字、值以及它们的映射关系的集合,可分别使用如下方法得到:
public Set
public Set
import java.util.*; public class MapDemo {
public static void main(String args[]) {
Map
for (Iterator i=allEntry.iterator();i.hasNext(); ) System.out.println(i.next()); System.out.println( m.get(\李四\) ); } }
1.编写应用程序,在其main方法中定义以下两个字符串数组:
String mpgStr[]={\String pngStr[]={\
然后将他们的每个元素间隔添加到ArrayList对象中,并在命令行界面显示所有元素;然后将ArrayList对象中所有.png的元素都删除,再显示ArrayList对象中的所有元素,如图所示。
import java.util.Collections; import java.util.ArrayList; import java.util.List; public class YY{ }
public static void main(String[] args) {
String mpgStr[]={\,\,\,\,\}; String pngStr[]={\,\,\,\,\};
List for(int i=0;i System.out.println(\对象中所有元素\); System.out.println(s1); for(int i=0;i System.out.println(\将ArrayList对象中所有.png的元素都删除后为:\); System.out.println(s1); } S1.remove(i+”.png”); s1.add(pngStr[i]); s1.add(mpgStr[i]); 2.按顺序把1,10,5,7,6,2,9,20,14,存入到List中(注:允许自己自定义任何数),并对其进行排序,打印其升序和降序排列的结果。然后再向List中 位置为第四位插入数 35看看会有啥结 果?再向List中插入字符串“ddy”,试猜想排序是否会出错?然后看看运行结果是啥? import java.util.Collections; import java.util.LinkedList; import java.util.List; public class list { } public static void main(String[] args) { List s1=new LinkedList(); s1.add(1); s1.add(10); s1.add(5); s1.add(7); s1.add(6); s1.add(2); s1.add(9); s1.add(20); s1.add(14); Collections.sort(s1); System.out.println(\升序排序为:\); System.out.println(s1); Collections.reverse(s1); System.out.println(\降序排序为:\); System.out.println(s1); s1.add(3, 35); System.out.println(\插入后为:\); System.out.println(s1); //s1.add(\ Collections.sort(s1); System.out.println(\升序排序为:\); System.out.println(s1); Collections.reverse(s1); System.out.println(\降序排序为:\); System.out.println(s1); } 3.按顺序把下面一组数([1,2] [3,4] [2,2] [6,4] [5,2] [4,4])存放到Map中(注:允许自己自定义任何数),并按key 和value的值进行排序。 程序代码: 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验十 集合编程在线全文阅读。
相关推荐: