Java集合类 课后练习

1、Pg235--2分别向Set集合以及List集合中添加“A”,“a” , "c" , "C" , "a"  5个元素,观察重复值“a”能否在List集合以及Set集合中成功添加

package org.hanqi.array;

import java.util.*;

public class ZuoYe {

    public static void main(String[] args) {

        //Set 集合
        Set<String>  s=new HashSet<String>();

        s.add("A");
        s.add("a");
        s.add("c");
        s.add("C");
        s.add("a");

        if(s.size()==5)
        {
            System.out.println("重复值“a”能在Set集合中成功添加");
        }
        else
        {
            System.out.println("重复值“a”不能在Set集合中成功添加");
        }

        //List 集合
        List<String> l=new ArrayList<String>();

        l.add("A");
        l.add("a");
        l.add("c");
        l.add("C");
        l.add("a");

        if(l.size()==5)
        {
            System.out.println("重复值“a”能在List集合中成功添加");
        }
        else
        {
            System.out.println("重复值“a”不能在List集合中成功添加");
        }
    }

}

2、Pg235--3创建Map集合,创建Emp对象,并将创建的Emp对象添加到集合中,并将id为005的对象从集合中移除

package org.hanqi.array;

import java.util.*;

public class Emp {

    private String  id;

    private String  value;

    public Emp(String id,String value)
    {
        this.id=id;

        this.value=value;
    }

    public static void main(String[] args) {

        Emp e1=new Emp("001","value1");

        Emp e2=new Emp("002","value2");

        Emp e3=new Emp("003","value3");

        Emp e4=new Emp("004","value4");

        Emp e5=new Emp("005","value5");

        Emp e6=new Emp("006","value6");

        Emp e7=new Emp("007","value7");

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

        //Emp对象添加到集合中
        m.put(e1.id, e1.value);
        m.put(e2.id, e2.value);
        m.put(e3.id, e3.value);
        m.put(e4.id, e4.value);
        m.put(e5.id, e5.value);
        m.put(e6.id, e6.value);
        m.put(e7.id, e7.value);

        System.out.println("长度=" +m.size());

        //移除id为005的对象
        m.remove("005");

        System.out.println("移除后的长度=" +m.size());

        //遍历
        for(String t:m.keySet())
        {
            System.out.println(m.get(t));
        }        

    }

}

3、随机产生四位验证码    0--9,a--z,A--Z随机取四个数作为验证码

package org.hanqi.array;

import java.util.*;

public class ZuoYe1 {

    public static void main(String[] args) {

        //产生验证码    0--9,a--z,A--Z随机取四个数作为索引值产生验证码

        List<Object>  list= new ArrayList<Object>();

        for(int i=0;i<10;i++)
        {
            list.add(i);
        }
        for(int i=65;i<=90;i++)
        {
            list.add((char)i);
        }
        for(int i=97;i<=122;i++)
        {
            list.add((char)i);
        }

        for(Object t:list)
        {
             System.out.print(t);
        }

        System.out.println();

        Random r=new Random();

        //产生四位数的验证码

        System.out.print("四位数验证码:");

        for(int i=1;i<=4;i++)
        {
            System.out.print(list.get(r.nextInt(list.size())));
        }
    }

}

4、从1-28之间随机抽取9个不重复的数字

package org.hanqi.array;

import java.util.*;

public class YaoJiang {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

        List<Object>  list= new ArrayList<Object>();

        for(int i=1;i<=28;i++)
        {
            list.add(i);
        }

        Random r=new Random();

        for(int i=0;i<9;i++)
        {
            int t=r.nextInt(list.size());

            System.out.print(" " +list.get(t));

            list.remove((list.get(t)));
        }
    }
}

时间: 2024-12-20 23:26:00

Java集合类 课后练习的相关文章

Java集合类: Set、List、Map、Queue使用

目录 1. Java集合类基本概念 2. Java集合类架构层次关系 3. Java集合类的应用场景代码 1. Java集合类基本概念 在编程中,常常需要集中存放多个数据.从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量.一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数据(在编译时无法确定具体的数量),java的集合类就是一个很好的设计方案了. 集合类主要负责保存.盛装其他数据,因此集合类也被称为容

Java 集合类详解

1.java集合类图 1.1 1.2 上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,Iterator,List等. 发现一个特点,上述所有的集合类,都实现了Iterator接口,这是一个用于遍历集合中元素的接口,主要包含hashNext(),next(),remove()三种方法.它的一个

摘抄转载前辈们的Java集合类总结

JAVA 集合类介绍和使用    类关系示意图  Iterable(接口)      │      └--Collection (接口)          ├-List(接口)          │ ├-LinkedList  不同步  (构造同步:List list = Collections.synchronizedList(new LinkedList(...));)          │ ├-ArrayList   不同步           │ └-Vector      同步    

针对Java集合类的小总结

Java集合类包位于java.util下,有很多常用的数据结构:数组.链表.队列.栈.哈希表等等.了解不同的集合类的特性在开发过程中是比较重要的,感谢@兰亭风雨的专栏分析,这里我也根据自己的理解做轻度的总结,不再进行分析,因为上面的博客分析已经相当优秀. List接口实现,一般常用的为ArrayList和LinkedList,还有不太常用的Vector,Stack.比如JDK文档声明 Deque 接口及其实现提供了 LIFO 堆栈操作的更完整和更一致的 set,应该优先使用此 set,而非Sta

Java集合类汇总记录-- apache.commons4(TreeList)

通常,Tree是Tree,List是List,两者不太可能混在一起.但apache-commons库却用tree实现了实现了List的接口,也就是TreeList类.与标准的LinkedList相比,TreeList稍微浪费一点空间,但常用操作的时间复杂度均降低到了O(log N),值得在开发中权衡利弊.合理应用. 内部数据结构 TreeList内部包含了一个Thread AVL Tree.AVL Tree很常见了,是一种典型的Balanced Binary Tree,但下面简单介绍下Threa

Java集合类相关面试题

1.Collection和Collections的区别 java.util.Collection 是一个集合接口,Collection接口在Java类库中有很多具体的实现,例如List.Set java.util.Collections 是针对集合类的一个帮助类,它提供了一系列的静态方法实现对各种集合的搜索.排序.线程安全化等操作. 2.ArrayList与Vector的区别 这两个类都实现了List接口(List接口继承自Collection接口).它们都是有序集合,它们内部的元素都是可以重复

java集合类编程重点

一.数组常用操作 import java.io.*; import java.math.*; import java.util.*; public class Main { private static int []a=new int[20]; public static void print() { for(int i=0;i<20;i++) System.out.print(a[i]+" "); System.out.println(""); } publ

Java集合类汇总记录--guava篇

BiMap HashBiMap<K,V> 实现了两份哈希表数据结构(本类独立实现),分别负责两个方向的映射. EnumBiMap<K,V> 两个EnumMap对象分别负责两个方向的映射. EnumHashBiMap<K,V> 一个EnumMap对象负责K到V映射,一个HashMap对象负责V到K的影身. MultiMap HashMultimap<K,V> 使用HashMap<K,HashSet<V>>对象实现. TreeMultim

[Java] 集合类(List、Set、Map的基本使用)

数组是一种很常见的数据结构,开始接触编程的时候多数程序都和数组相关.刚开始接触Java时也是一直使用数组写一些程序,后来越来越觉得... 数组是一种很常见的数据结构,开始接触编程的时候多数程序都和数组相关.刚开始接触Java时也是一直使用数组写一些程序,后来越来越觉得数组这东西没法满足需求了,这时一位"前辈"对我说了一句:不会用集合类就等于没学过Java.然后才知道有集合类. 想想已经是3.4年前的事了,时间如白驹过隙啊. 什么时候数组会显得力不从心,没法满足需求,需要集合类呢? 不知