集合类用于存储一组对象

本章介绍Java的实用工具类库java.util包。在这个包中,Java提供了一些实用的方法和数据结构。例如,Java提供日期(Data)类、日历(Calendar)类来产生和获取日期及时间,提供随机数(Random)类产生各种类型的随机数,还提供了堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构。

图1.1给出了java.util包的基本层次结构图。下面我们将具体介绍其中几个重要的类。

┌java.util.BitSet

│java.util.Calendar

│ └java.util.GregorianCalendar

│java.util.Date

│java.util.Dictionary

│ └java.util.Hashtable

│ └java.util.Properties

│java.util.EventObject

│java.util.ResourceBundle

┌普通类┤ ├java.util.ListResourceBundle

│ │ └java.util.PropertyResourceBundle

│ │java.util.Local

│ │java.util.Observable

│ │java.util.Random

│ │java.util.StringTokenizer

│ │java.util.Vector

│ │ └java.util.Stack

Java.util┤  └java.util.TimeZone

│ └java.util.SimpleTimeZone

│ ┌java.util.Enumeration

├接 口┤java.util.EventListener

│ └java.util.Observer

│ ┌java.util.EmptyStackException

└异常类┤java.util.MissingResourceException

│java.util.NoSuchElementException

└java.util.TooManyListenersException

图1.1 java.util包的基本层次结构

 

 

 

转载于:https://www.cnblogs.com/borter/p/9434112.html

Java中,集合是用于存储一组对象数据结构,可以用来存储任何类型的对象,包括自定义类的对象。集合主要分为两大类:Collection和Map。Collection接口有List、Set等子接口,而Map是一个独立的接口。下面我将分别介绍如何在List、Set和Map中存储自定义类的对象。 1. 使用List存储对象List是一个有序的集合,可以包含重复的元素。常见的实现类有ArrayList和LinkedList。 ```java List<MyClass> list = new ArrayList<>(); MyClass obj1 = new MyClass("属性1", "属性2"); MyClass obj2 = new MyClass("属性3", "属性4"); list.add(obj1); list.add(obj2); ``` 2. 使用Set存储对象: Set是一个不允许重复的集合,添加到Set中的元素会被自动进行唯一性检查。常见的实现类有HashSet和TreeSet。 ```java Set<MyClass> set = new HashSet<>(); MyClass obj1 = new MyClass("属性1", "属性2"); MyClass obj2 = new MyClass("属性3", "属性4"); set.add(obj1); set.add(obj2); ``` 3. 使用Map存储键值对: Map不是一个集合,它存储键值对,每个键映射到一个值。常见的实现类有HashMap和TreeMap。 ```java Map<String, MyClass> map = new HashMap<>(); MyClass obj1 = new MyClass("属性1", "属性2"); MyClass obj2 = new MyClass("属性3", "属性4"); map.put("key1", obj1); map.put("key2", obj2); ``` 在使用集合存储自定义类的对象时,需要注意以下几点: - 自定义类需要覆盖equals()和hashCode()方法,以确保集合可以正确地处理对象的唯一性。 - 如果存储的是不可变对象,则不需要覆盖这两个方法。 - 如果需要对集合中的元素进行排序,则需要自定义类实现Comparable接口或在使用TreeSet或TreeMap时提供一个Comparator。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值