`

Java集合使用备忘

    博客分类:
  • java
阅读更多
总结如下:
保存单个值的集合: Collection
    |- List: 允许有重复的元素。
        |-ArrayList: 异步处理,新的类,只能用Iterator输出。
        |-Vector: 同步处理,旧的类,能用Iterator ,Enumeration同时输出。
     |-Set: 不允许有重复的元素。
        |-HashSet: 散列,无序
        |-TreeSet:有序,按Comparable排序。
保存一对值(Map)

     |-HashMap: 异步处理,新的类。
    |-HashTable:同步处理,旧的类。
    |-TreeMap: 按KEY进行排序的集合。

输出:
|-Iterator:  新的输出类,方法名称较短。
|-Enumeration :旧的输出类,方法名称较长。


Set List 使用基本一致
add(Object o); remove(Object 0);
第一个区别:HashSet子类存放的是无序的(散列存放)
第二个区别:List允许重复数据,重复数据保留下来。
            Set不允许重复数据,重复数据变替换掉。
在Set中使用HashSet是散列的无序的存放,如果希望有序的存主使用TreeSet(升序排列).
   靠的是Comparable接口排序。

Map 的作用主要是作为查找使用,不是做为输出使用。
pub(Object key,Object value);
get(Object key);
Map 接口的对象不能使用Iterator输出。
若非要使用Iterator输出,可用以下步骤:
Map  -->Set -->Iterator -->Map.Entry  -->key,value.

Map m = new HashMap() ;
m.put("张三","123456") ;
m.put("李四","654321") ;
m.put("王五","890762") ;

Set all = m.entrySet() ;
Iterator iter = all.iterator() ;
while(iter.hasNext())
{
Map.Entry me = (Map.Entry)iter.next() ;
System.out.println(me.getKey()+" --> "+me.getValue()) ;
}
若想排序:可有TreeMap,它是按照KEY排序。

// Vector 是同步的,效率比ArrayList要低。
                     Vector v = new Vector() ;
v.add("A") ;
v.add("A") ;
v.add("A") ;
v.add("A") ;
v.add("A") ;
v.add("A") ;
// Enumeration 在List和Set中不能使用。iterator都可使用,目前多使用iterator
Enumeration e = v.elements() ;
while(e.hasMoreElements())
{
System.out.println(e.nextElement()) ;
}

Stack 后进先出。Stack是Vector的子类。

         Stack s = new Stack() ;
s.push("A") ;
s.push("B") ;
s.push("C") ;
s.push("D") ;
s.push("E") ;
// System.out.println(s.empty()) ;  // 注意:false;
// 取值
while(!s.empty())
{
System.out.println(s.pop()) ;
}
// 如果内容已经全部弹出则再弹会出现错误
s.pop() ;   // 出现错误。

HashTable 同HashMap(异步处理)使用一样,只是HashTable是同步处理的。
注:HashTable不支持Iterator。

                  Map m = new Hashtable() ;
m.put("CC","123") ;
m.put("DD","321") ;
m.put("AA","456") ;

Set all = m.entrySet() ;
Iterator iter = all.iterator() ;
while(iter.hasNext())
{
Map.Entry me = (Map.Entry)iter.next() ;
System.out.println(me.getKey()+" --> "+me.getValue()) ;
}
Properties是HashTable的子类。Properties主要保存字符串的。
setProperty(String key,String value)
getProperty(String key)
Properties p = new Properties() ;
p.setProperty("A","ABC") ;
p.setProperty("S","STU") ;
         System.out.println(p.getProperty("A","不存在。")) ;
         // 打印不存在
         System.out.println(p.getProperty("B","不存在。")) ;
        





分享到:
评论

相关推荐

    java开发备忘录

    Java开发备忘录是程序员在进行Java编程时的重要...以上仅是Java开发备忘录中的部分核心概念,实际备忘录可能还包括更具体的API使用、最佳实践、设计模式等内容。学习和掌握这些知识,对于提升Java开发能力至关重要。

    备忘录日程管理java代码

    - **集合框架**:Java集合框架(如ArrayList、LinkedList、HashMap等)用于存储和管理数据。在日程管理中,可能会用到这些数据结构来保存用户创建的事件和备忘录。 2. **GUI设计**: - **Swing或JavaFX**:这两个...

    java设计模式-备忘录模式源代码

    它可能是一个简单的集合类,如`ArrayList<Memento>`,用于存储多个备忘录实例。 ```java public class Caretaker { private List<Memento> mementos = new ArrayList(); public void addMemento(Memento memento...

    Java 综合案例 可编辑备忘录的日历程序 学生系统

    同时,为了方便数据检索,可能还需要实现排序和过滤功能,这可以使用Java集合框架如List、Set和Map等。如果规模较大,可能还会涉及到数据库连接和SQL查询,例如使用JDBC(Java Database Connectivity)来与MySQL、...

    java备忘录

    HashMap是Java集合框架中的一员,属于Map接口的一个实现类,它提供了高效的性能和灵活的数据操作方式。 HashMap在Java中的主要特点包括: 1. 非线程安全:HashMap不是线程安全的,这意味着在多线程环境下,如果不...

    java 备忘录

    6. **集合框架**:备忘录中的备忘项可能很多,Java集合框架(如ArrayList、LinkedList、HashSet、HashMap等)可以用来组织和管理这些数据。例如,使用ArrayList存储备忘项,HashMap关联备忘项标题与内容。 7. **...

    java通讯及备忘功能源码

    2. **集合框架**:为了存储和管理大量的联系人和备忘录,Java集合框架如ArrayList、HashMap或LinkedList将被使用。例如,ArrayList可以用于存储按添加顺序排列的备忘录,而HashMap则可以根据名称或其他标识符快速...

    电子备忘录java基础知识综合实例包含大部分基础知识

    这将涉及到数据结构(如ArrayList或LinkedList)和集合框架的使用,以及IO流知识,用于存储和加载用户的备忘录数据。你可能还会学习到如何使用JOptionPane来弹出对话框,获取用户输入或者显示警告信息。 此外,为了...

    java小管家项目(备忘录,通讯录)

    在Java中,这可能涉及创建一个类来表示联系人,包含姓名、电话号码、电子邮件等字段,并使用集合框架(如ArrayList或HashMap)来存储联系人对象。搜索和排序功能可以帮助用户快速找到所需联系人,而导入和导出功能...

    Java 备忘单(学习资料)

    Java 备忘单是针对初学者的一份详细学习资料,旨在帮助他们快速掌握 Java 语言的基础语法。以下是一些核心知识点的概述: 1. **Hello, World!**:这是所有编程语言入门的第一步,用于验证环境配置是否正确。在 Java...

    beiwanglu.zip_备忘录

    - **Java集合框架**:如ArrayList或LinkedList存储备忘录对象。 - **日期时间处理**:使用java.time包中的类进行日期和时间的处理,如LocalDateTime和Duration。 - **事件驱动编程**:可能使用了Swing或JavaFX这样的...

    日历备忘录

    可以使用ArrayList或其他集合类来存储备忘录条目,每条备忘录作为一个对象,包含标题、内容、创建日期等属性。为了持久化这些数据,可以使用文件系统(如文本文件或XML)或者数据库(如SQLite)进行存储。显示备忘录...

    java面试题及技巧4

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    备忘录APP,记事本APP

    这需要在RecyclerView中实现多选模式,并在用户确认操作后,调用Litepal的批量删除接口,根据选中的备忘录ID集合执行删除操作。 4. 修改备忘录:当用户点击备忘录条目时,可以进入编辑页面,修改内容并保存。这涉及...

    JAVA面试题和面试技巧集合

    三、Java集合框架 1. 集合接口:List、Set、Queue的区别,以及它们各自的实现类如ArrayList、LinkedList、HashSet、TreeSet等。 2. Map接口:HashMap、LinkedHashMap、TreeMap的工作原理及应用场景。 3. 序列化:...

    Java_Android面试的备忘单.zip

    Java 和 Android 面试备忘单包含了这两个领域中最重要的知识点和常见面试问题。下面将对这些关键概念进行深入解析。 一、Java 基础 1. **数据类型**:Java 分为基本数据类型(如 int, char, boolean)和引用数据...

    java23种设计模式集合

    本资源“java23种设计模式集合”提供了一个全面的Java设计模式Demo大全,涵盖了面向对象设计中的核心原则和经典模式。 在Java世界里,23种设计模式被广泛接受并分为三大类:创建型模式(Creational Patterns)、...

    Java常见面试题(线程、集合、设计模式).zip

    Java作为一门广泛使用的编程语言,其面试题涵盖了多个核心领域,包括线程、集合和设计模式。这些主题在软件开发中至关重要,理解并熟练掌握它们是成为优秀Java开发者的关键。 线程是Java并发编程的基础,它允许多个...

    Java面试题资料

    2. **Java集合框架**:面试中常常会问到ArrayList、LinkedList、HashSet、HashMap等集合类的区别和使用场景,以及它们的底层实现原理。理解集合的迭代器、并发修改异常、容量调整策略等也是重点。 3. **JVM**:Java...

    JAVA试题大全

    二、Java集合框架 1. List接口:掌握ArrayList和LinkedList的使用,理解它们的时间复杂度差异。 2. Set接口:理解HashSet和TreeSet的实现原理,掌握元素的唯一性与排序规则。 3. Map接口:熟悉HashMap和TreeMap,...

Global site tag (gtag.js) - Google Analytics