《java程序设计基础》容器类

1.列表接口List
利用LinkedList类构造一个先见后出的堆栈
package yuan;
import java.util.*;
class StringStack{
private LinkedListld = new LinkedList();//创建LinkedList对象ld
public void push(String name) { //入栈操作
ld.addFirst(name); //将name添加到链表的头
}
public String pop() { //出栈操作
return ld.removeFirst(); //获取并移出堆栈的第一个元素
}
public boolean isEmpty() { //判断栈对是否为空
return ld.isEmpty();
}
}
public class App12_7 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);
	StringStack stack = new StringStack();
	System.out.println("请输入数据(quit结束)");
	while(true) {
		String input = sc.next();   //从键盘输入数据
		if(input.equals("quit")) 
			break;
		stack.push(input);    //入栈
	}
	System.out.println("先进后出的顺序");
	while(!stack.isEmpty()) {
		System.out.println(stack.pop()+" ");  //出栈
	}
}

}
创建一个数组列表对象并向其添加元素,然后对列表的元素进行修改并遍历
package yuan;
import java.util.*;
public class App12_8 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	List<Integer>al = new ArrayList<Integer>();//创建数组对象a1
	for(int i=0;i<5;i++) {
		al.add(i);             //向数组列表al中添加元素
	}
	System.out.println("数组列表的原始数据"+al);
	ListIterator<Integer>listIter = al.listIterator(); //创建数组列表al的迭代器listIter
	listIter.add(0);                       //在序号为0的元素前添加一个元素0
	System.out.println("添加数据后数组列表"+al);
	if(listIter.hasNext()) {
		int i =listIter.nextIndex();//执行该语句时i的值是1
		listIter.next();                  //返回序号为1的元素
		listIter.set(9);                   //修改数组列表a1中序号为1的元素
		System.out.println("修改数据后数组列表"+al);
	}
	listIter = al.listIterator(al.size());     //重新创建从a1最后位置开始的迭代器listIter
	System.out.println("反向遍历数组列表");
	while(listIter.hasPrevious())
		System.out.print(listIter.previous()+" ");
}

}
2.集合的接口Set
程序运行时,将命令行方式下输入的每一个字符串添加到哈希集合中,集合中已有的元素不能添加,并将重复的元素输出。最后在对集合进行遍历,输出其所有元素。
package yuan;
import java.util.*;
public class App12_9 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	HashSet<String>hs = new HashSet<String>(); //创建哈希集合对象hs,初始容量为16
	for(String a:args)
		if(!hs.add(a))                   //向哈希集合hs添加元素,但重复的元素不添加
			System.out.println("元素"+a+"重复");   //输出重复的元素
	System.out.println("集合的容量为:"+hs.size()+",各元素为:");
	Iterator it = hs.iterator();             //创建哈希集合hs的迭代器it
	while(it.hasNext())                   //判断集合中是否还有后续元素
		System.out.println(it.next()+" ");  //输出哈希集合中的元素
}

}
先创建一个哈希集合对象hs,并向他添加元素,然后再用hs创建树集合对象ts,之后利用树集合的相应方法输出某些元素。
package yuan;
import java.util.*;
public class App12_10 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Set<String>hs = new HashSet<String>();       //创建哈希集合对象hs
	hs.add("唐僧");									//向哈希对象hs添加元素
	hs.add("孙悟空");
	hs.add("猪八戒");
	hs.add("沙和尚");
	hs.add("白龙马");
	TreeSet<String>ts = new TreeSet<String>(hs);       //利用hs创建树集合对象ts
	System.out.println("树集合"+ts);                  //输出树集合
	System.out.println("树集合的第一个元素:"+ts.first());
	System.out.println("树的最后一个元素"+ts.last());
	System.out.println("haedSet(孙悟空)的元素"+ts.headSet("孙悟空"));
	System.out.println("tailSet(孙悟空)的元素"+ts.tailSet("孙悟空"));
	System.out.println("celing(沙)的元素"+ts.ceiling("沙"));
}

}
3.映射接口Map
创建一个哈希映射类的HashMap对象,并向其中添加若干个元素后,删除其中的某元素,之后在创建一个树映射类TreeMap的对象,并将HashMap对象中的元素天剑其中,然后分别遍历由HashMap与TreeMap类实现的Map映射
package yuan;
import java.util.*;
public class App12_11 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Map<String,String>hm = new HashMap<String,String>(); //创建HasshMap对象hm
	hm.put("006", "唐僧");         //将元素添加到映射hm中
	hm.put("007", "孙悟空");
	hm.put("008", "猪八戒");
	hm.put("009", "沙和尚");
	hm.put("010", "白龙马");
	System.out.println("哈希映射中的内容如下:\n"+hm); //输入hm中的元素
	String str = (String)hm.remove("010");       //在hm中删除键值为"010"的元素
	Set keys =hm.keySet();                        //获取哈希映射hm的键对象集合
	Iterator it = keys.iterator();                //获取键对象集合keys的迭代器
	System.out.println("HashMap类实现的Map映射,无序");
	while(it.hasNext()) {                                 //判断是否还有后续元素
		String xh = (String)it.next();                //返回键
		String name = (String)hm.get(xh);          //返回键所对应的值
		System.out.println(xh+" "+name);
	}
	TreeMap<String,String>tm = new TreeMap<String,String>(); //创建TreeMap对象tm
	tm.putAll(hm);                                       //将hm元素添加到树映射对象tm中去
	Iterator iter = tm.keySet().iterator();                   //获取迭代器
	System.out.println("TreeMap类实现的Map映射,键值升序:");
	while(iter.hasNext()) {                                 //判断是否还有后续元素
		String xh =(String)iter.next();                //返回键
		String name = (String)hm.get(xh);              //返回键所对应的值
		System.out.println(xh+" "+name);
	}
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值