JAVA重点知识集合的简单总结,望高手斧正

       JAVA是面向对象的语言,操作简便,语法严密。现在总结一些学习笔记,希望可以得到高手指点,也为他人提供便利,这个文档可以COPY到文档中的,这样学习起来至少有个参考。在操作数据时,数据元素较多时首先需要用到数组去处理,但是当数据无法满足大容量的容器景象处理时,或者映射关系多元化,并且复杂数据元素处理时,数组就那一满足需求。这就必须引入集合的概念。集合:使用时应当根据数据调用的需求而适用不同的集合分类。

       集合按照存数数据类别分,可以分为:单数据集合类和双位数据集合Map类。

(一)一.单数据集合类包含允许存在重复元素的Collection类和去重复元素的Set类:

      允许存储重复元素且元素有序的集合:arraylist,linkedlist,vector3类

      1.Arraylist元素可重复,按照index标识位置顺序排列,可以用索引index位遍历查询。支持普通for循环,增强for循环,迭代器3种遍历方法。数据增删时,后位元素前移一位,操作时要特别注意。数据调用为静态,不能用于多线程调用,需调用应该使用如下方法List list = Collections.synchronizedList(new ArrayList(...)); 

      2.linkedlistarraylist增强版本,数据排列时增加了前位和后位数据标识,便于快速查找到并快速增删。

      3.Vector向量数组,可以根据数据元素大小增删不断收缩的数组集合,增删元素,Vector容量大小也跟着变化。可以存储多种数据元素,常用方法为append、insert、delete方法,实现数据添加、插入、删除,

方法为sychronized可以适应于多线程

二.不存储重复元素且数据无序的集合:hashset,linkedhashset,treeset3类

      1..Hashset集合是在数据存入时添加hashcode标识(相当于加两个小标识,按照这个下表示的饿逻辑来确定谁是老大老二。。。),去除了相同元素,数据结构无序。

      2.linkedhashset集合时在hashset基础上添加前位和后位元素的标识,便于快速增删。

      3.Treeset是在元素存入时调用了默认compare to方法按照一定序列存储,数据结构有序,使用时应该根据要求重写compare to方法或定义compartor比较器,实现自己要求的数据结构

(二)双位数据集合——map类:Map类是Set类基础上增加value值,即Key和Value的组合,value可以指向不同key。方法有Hashmap,(linkedhashmap)hashtable(不允许空值null,poperties允许存在空值,把Key和value都转化为String值,可以在流中获取和读取,可以用作系统配置文件),treemap(二叉树存储结构,数据按序列排列)3种

      1.Hashmap是Hashset上增加value值的集合(linkedhashmap原理是增加前位后位元素标识)

      2.Hashtable中key和value都不允许为Null

      3.Treemap二叉树映射关系排列,数据存储时按照compare to方法比较过了,数据结构有序,可以自定义comapre to方法和comaprtor比较器实现数据重组。可以根据key,value和key+value的组合Entry查找数据元素

工具类:

Arrays数据类,包含用来操作数据(比如排序和搜索)的各种方法,还包含一个将数组作为列表来查看的静态工厂,以String形式直接输出。可以把数组装入,然后调用aslist()或者binarySearch()方法查找元素的位置。或者toString()方法输出为String字符。或者copyofrange()街区数据复制到新数组。常用方法为bytearrays用于IO输出

Collections集合类,时Collection方法上封装静态方法,可以对集合进行快速操作,可以直接以String输出.addall()添加多个元素,binanrysearch()集合中进行二分法查找。Copy()方法,拆分复制集合,rever()把集合元素全部反转。Sort()对集合进行排序。Swap()交换2个集合中的元素.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值