集合的总结

此代码示例展示了Java集合框架中ArrayList、Vector、Stack、LinkedList、HashSet、LinkedHashSet、TreeSet以及Queue(ArrayDeque和LinkedList)的操作,包括添加元素、遍历和删除元素。还演示了HashMap和TreeMap的使用,以及如何从Hashtable检索和迭代键值对。
摘要由CSDN通过智能技术生成

示例1:

import java.util.*;

public class List_homework {

public static void main(String[] args) {

//ArrayList类

ArrayList<String> t=new ArrayList<>();

t.add("z");

t.add("h");

t.add("z");

//1.使用简单的for循环

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

System.out.print(t.get(i));

}

System.out.println(" ");

//2.使用增强的for循环

for(String c:t)

System.out.print(c);

System.out.println(" ");

//3.使用迭代器(两种方法)

//第一种方法

Iterator it=t.iterator();

while(it.hasNext()) {

System.out.print(it.next());

}

System.out.println(" ");

//第二种方法

for(Iterator it2=t.iterator();it2.hasNext();) {

System.out.print(it2.next());

}

System.out.println(" ");

//Vector类

Vector<String> t1=new Vector<>();

t1.add("z");

t1.add("z");

t1.add("h");

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

System.out.print(t1.get(i));

}

System.out.println(" ");

//Stack类

Stack<String> t2=new Stack<>();

t2.add("2");

t2.add("00");

t2.add("4");

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

System.out.print(t2.get(i));

}

System.out.println(" ");

//数组转化为List对象

String[] t3= {"zeng","hong","zhi"};

List<String> list=Arrays.asList(t3);

System.out.print(list);

System.out.println(" ");

List<String> list1=Arrays.asList("persimmon");

System.out.print(list1);

System.out.println(" ");

//LinkedList类

LinkedList<String> list2=new LinkedList<String>();

list2.add("爱吃");

list2.add("柿子");

int n=list2.size();

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

System.out.println("第"+i+"节点的数据:"+list2.get(i));

}

Iterator it3=list2.iterator();

while(it3.hasNext()) {

System.out.print(it3.next());

}

}

}

输出结果为:

zhz

zhz

zhz

zhz

zzh

2004

[zeng, hong, zhi]

[persimmon]

第0节点的数据:爱吃

第1节点的数据:柿子

爱吃柿子

示例2:

import java.util.*;

public class Set_homework {

public static void main(String[] args) {

//HashSet类

Set<String> a = new HashSet<>();

a.add("曾");

a.add("宏");

a.add("志");//实现类为HashSet,不保证集合中元素的顺序

a.add("曾");//重复的元素不能添加到集合中去,该重复元素也不会输出

for(String A:a) {

System.out.print(A);

}

System.out.println(" ");

//LinkedHashSet类

Set<String> b = new LinkedHashSet<>();

b.add("曾");

b.add("宏");

b.add("志");//实现类为LinkedHashSet,定义了集合中元素的迭代顺序,这个顺序是元素插入集合的顺序

b.add("曾");//重复的元素不能添加到集合中去,该重复元素也不会输出

for(String B:b) {

System.out.print(B);

}

System.out.println(" ");

//TreeSet类

Set<Integer> c = new TreeSet<>();

int n[] = new int [5];

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

n[i]=(int)(Math.random()*9+1);//要控制范围(a~b),Math.random()*(b-a+1)+a

c.add(n[i]);

}

System.out.println(c);

}

}

输出结果为:

志曾宏

曾宏志

[1, 3, 4, 8, 9]

示例3:

import java.util.*;

public class Queue_homework {

public static void main(String[] args) {

//ArrayDeque类

Queue<String> x1=new ArrayDeque <>();

x1.offer("z");

x1.offer("h");

x1.offer("z");

((ArrayDeque<String>) x1).removeFirstOccurrence("z");//删除第一次出现的元素

Iterator it=x1.iterator();

while(it.hasNext()) {

System.out.print(it.next());

}

System.out.println(" ");

ArrayDeque<String> x2=new ArrayDeque <>();

x2.offer("z");

x2.offer("h");

x2.offer("z");

x2.removeLastOccurrence("z");//删除最后一次出现的元素

Iterator it1=x2.iterator();

while(it1.hasNext()) {

System.out.print(it1.next());

}

System.out.println(" ");

//LinkendList类

Queue<String> x3=new LinkedList<String>();

x3.add("柿子");

x3.add("吃腻了");

Iterator it2=x3.iterator();

while(it2.hasNext()) {

System.out.print(it2.next());

}

}

}

输出结果为:

hz

zh

柿子吃腻了

示例4:

import java.util.*;

import java.util.Map.Entry;

public class Map_homework {

public static void main(String[] args) {

//HashMap类

String[] A = {"Zeng","Hong","Zhi"};

String[] a = {"z","z","h"};

Map<String,String> m = new HashMap<>();

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

m.put(A[i], a[i]);

}

System.out.println(m.size()+"组对应关系分别为:");

System.out.println(m);

System.out.println("第三组元素所对应的字母为:"+m.get("Zhi"));

//TreeMap类

String[] B = {"zhi","like","persimmon"};

String[] b = {"3","4","9"};

Map<String,String> m1 = new HashMap<>();

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

m1.put(B[i], b[i]);

}

System.out.println(m1);

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

System.out.println("第"+i+"组元素字母数为:"+b[i]);

}

//Hashtable类

Hashtable<Integer,String> n = new Hashtable<>();

n.put(new Integer(1), "one");

n.put(new Integer(2), "two");

n.put(new Integer(3), "three");

for(int i=1;i<=3;i++) {

String s = n.get(i);//检索其中的数字描述

if(s!=null) {

System.out.println(i+"="+s);

}

}

//在键和值上迭代

//键上迭代可以使用增强的for循环

for(Integer k:n.keySet()) {

System.out.println(k);

}

//值上迭代可以使用values()的方法得到Collection对象

for(String v:n.values()) {

System.out.println(v);

}

for(Entry<Integer, String> entry:n.entrySet()) {

Integer e = entry.getKey();

String f = entry.getValue();

System.out.println(e+":"+f);

}

n.forEach((e1,f1)->{

System.out.println(e1+":"+f1);

});

}

}

输出结果为:

3组对应关系分别为:

{Hong=z, Zhi=h, Zeng=z}

第三组元素所对应的字母为:h

{like=4, persimmon=9, zhi=3}

第0组元素字母数为:3

第1组元素字母数为:4

第2组元素字母数为:9

1=one

2=two

3=three

3

2

1

three

two

one

3:three

2:two

1:one

1:one

2:two

3:three

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值