关于集合的三两事
来源:互联网 发布:编程类书籍在哪找 编辑:程序博客网 时间:2024/04/28 10:35
在corejava的学习中有四大天王,分别是集合,线程,IO流,网络,今天先来谈谈集合!
首先集合的目的主要是用来存放数据的,其实在java中数组也可以用来存放数据,但是有时我们并不知要存放多少数据,这时,用数组存放数据就会不是很适用了;而集合可以使程序能方便的存储和操作数目不固定的一组数据;在集合中只能存放对象的引用,不可以存放基本数据类型;但是在java中,有基本数据类型的包装类,所以在操作基本数据类型的数据是会自动的进行装箱和拆箱的操作,是基本数据类型也变成引用类型。
java中的集合分为三类,有list,set,map,其中list和set都继承了collection接口。
list:存放的是有序可重复的数据,其中有序是指出的顺序和放的顺序是一样的,list下的分支有ArrayList,LinkList,vector;
ArrayList:代表长度可变得数组,允许对元素进行快速的随机访问,但是插入和删除元素的速度慢。
LinkList:采用链表的结构,插入和删除元素较快,随机访问速度则是比较慢。
Vector:是线程安全的集合
Set:存放的是无序且不可重复的数据,在用add()方法添加对象时,会调用equals()方法把新的对象和既有对象进行比较判断是有重复;set下的分支:HashSet,TreeSet,LinkhashSet.
HashSet:按照哈希算法来存取集合中的对象,存取速度较快。
TreeSet:实现了sortedSet接口,具有排序的功能。
Map:是一种把键对象和值对象进行映射的集合,每一个元素都是键值对,包含键和值;从Map中取元素是只需要给出键对象就会返回对应的值对象。在Map中键对象不可以重复,但是值对象可以重复,同时若是键对象重复了,会用新的键对象覆盖旧的键对象。Map下的分支有HashMap,TreeMap
HashMap:当两个键对象通过equals()方法比较为true时,那么这两个键对象的hashCode()方法返回的哈希码一样
TreeMap:可以对键对象进行排序!
最后赋上一段代码,用来统计字符的:
转载地址:package csdn;import java.util.ArrayList;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Scanner;import java.util.Set;import java.util.TreeMap;public class CharacterCount {public static void main(String[] args) {System.out.println("请输入字符串:");//从控制台输入字符串Scanner scanner = new Scanner(System.in);String string = scanner.next();//用来存放没有重复的字符Set
- 关于集合的三两事
- 关于ReadDirectoryChangesW的三两事
- 关于进程保活的三两事
- Limbo模拟器的三两事
- 关于图片压缩的三两句话
- 关于工程输出日志的三两事(qt creator 、visual studio)
- Oracle版本问题引发的三两事
- ADB记录总结学习的三两事
- Win32 API 三两事
- C#--属性三两事
- 算法三两事
- RFID破解三两事
- java开篇三两事
- GitHub三两事
- Win32 API 三两事
- Spring配置之<context:*>标签的三两事
- 写给备胎的三两句话
- 马云之三两事
- centos python2.66升级到2.7.12
- Linux怎样访问Windows共享文件
- 【poj 1276】 Cash Machine 【Southeastern Europe 2002】
- 视差滚动1
- HDU 1176 免费馅饼(dp)
- 关于集合的三两事
- C++ vector和list的区别
- C#中stringbuilder的用法
- 南阳理工OJ---括号配对问题
- 4999: This Problem Is Too Simple!
- [PAT甲级]1017. Queueing at Bank (25)(银行办理业务平均等待时间)
- Java编程思想-4
- Windows的消息队列与消息循环
- 视差滚动2