java常用实体类、集合类

[转自51cto博客jichangwei的BLOG]

1:String类,字符串是常量,他们的值在创建之后不能更改,可以共享。

equals()用来比较两个字符串的值,==只有当这两个实例指向同一个字符串对象才返回true

2:线程安全的可变字符串类StringBuffer,主要操作是append()和insert()。

3:可变字符串类StringBuilder,不保证同步,用在字符串缓存区被单个线程使用的时候,比StringBuffer快。

三者的使用情况:

a)如果偶尔对剪子的字符串常量进行拼接,那么可以使用String,他足够简单而且轻量级。

b)如果需要经常对字符串进行拼接、累加操作,使用StringBuffer或者StringBuilder

c)单线程使用StringBuilder,他比StringBuffer快,多线程中选后者,他是线程安全的。

4:集合类Collection,代表多个对象的集合,分为

a)Queue类:队列类,先进先出的队列

b)List类,列表类,元素有序,且允许重复

c)Set类,集合类,元素可以有序也可以无序,不允许重复。

映射类Map:存储多个键值对。

5:Collections与Collection的区别:前者是对后者集合类进行各种操作的服务类。

a)Collection是个java.util下的接口,它提供了对集合对象进行基本操作的通用接口方法,collection接口在java类库中有很多具体的实现,它的意义是为各种具体的集合提供了最大化的统一操作方式。

b)conllections是个java.util下的实体类,它包含各种有关集合操作的静态方法,提供一系列静态方法实现对各个集合的搜索、排序、线程安全化等操作,就像一个工具类,服务于java的Collection框架。

6:列表类List

a)LinkedList链式访问,以指针相连,适合于在链表中间需要频繁进行插入和删除操作。

b)ArrayList类似数组的形式,按照序号存储,随机访问速度非常快。

c)Vector向量按照各元素序号存储,数组大小可以动态增长,对于大容量数据存储效率较高。

d)Stack堆栈,先进后出的数组。

7:这些类的对比与选择:

如果涉及到堆栈队列等操作,应该考虑List中的stack,queue

对于需要快速插入删除元素,应该使用linkedlist

如果需要快速随机访问元素,应该选用arraylist

如果程序在单线程环境中,选用非同步类

如果在多线程中,选用同步类vector、stack和hashtable以及其子类。

8:map选择

hashtable和hashmap类似,但是hashtable是同步的,但是hashmap允许null来作为key和value值。

weakhashmap是一种改进的hashmap,他对key进行弱引用,如果一个key不再被外部引用,则被gc回收。

java常用的集合对象_java常用实体类、集合类相关推荐

  1. java获取实体类对象_java 获取实体类对象属性值的方法

    在java中我们要获得实体类对象的属性,一般情况是将实体类中的属性私有化,然后再对外提供get()与set()方法,然后再获取实体类对象的属性的时候先把对象new出来,再用变量名.get()的方法得到 ...

  2. java注解检验集合对象_Java 对list对象进行属性校验

    ps:对list对象进行属性校验. @Validated:可以用在类型.方法和方法参数上.但是不能用在成员属性(字段)上 @Valid:可以用在方法.构造函数.方法参数和成员属性(字段)上 user实 ...

  3. java根据属性获取对象_java反射工具类--通过指定属性名,获取/设置对象属性值

    java对象通过点运算符操作对象属性的方式没法使用for,while等循环,此工具主要解决这一问题. 例如:有一对象包含属性有一定规律 obj1: { name1: "张三", a ...

  4. java怎么看dao文件_java通过实体类生成dao文件

    package generate; import java.io.File; import java.io.FileWriter; import java.io.IOException; import ...

  5. (转)java中对集合对象list的几种循环访问总结

    Java集合的Stack.Queue.Map的遍历 在集合操作中,常常离不开对集合的遍历,对集合遍历一般来说一个foreach就搞定了,但是,对于Stack.Queue.Map类型的遍历,还是有一些讲 ...

  6. java给实体类设置默认值_java 给实体类赋默认值通用方法

    package com.clamc.common.util; import java.lang.reflect.Field; import java.lang.reflect.Modifier; im ...

  7. 解决java.util.LinkedHashMap cannot be cast to 实体类......的问题

    解决java.util.LinkedHashMap cannot be cast to 实体类-的问题 背景描述 在学习谷粒商城时,使用openfeign进行远程调用,由于有个接口返回的是R<L ...

  8. java构造方法 隐含三步_Java入门总结--------类和对象关系以及构造方法

    Java中重写父类的方法要遵循"两同两小一大"规则, "两同"即方法名相同.形参列表相同: "两小"指的是子类方法的返回值类型应比父类方法返 ...

  9. java输出set集合元素_java Set集合,HashSet类详细介绍

    下面要给大家介绍的就是java Set集合方面的内容,本文主要讲到了HashSet类的一些知识,主要包括了HashSet类的特点,HashSet 类的常用构造方法重载形式以及代码演示了创建两种不同形式 ...

最新文章

  1. 15.python操作mysql
  2. 第十七届全国大学智能车竞赛:第二波芯片申请向你袭来
  3. 某公司Java面试题
  4. 为什么要避免使用JavaScript中的递增(“++”)和递减(“ - ”)运算符?
  5. 坚实原则:接口隔离原则
  6. ABB机器人VGT文件_ABB机器人与焊机之间通讯方式
  7. ncurses其他特性:curs_set(),离开curses模式,ACS_扩展字符集,扩展库
  8. 『优势特征知识蒸馏』在淘宝推荐中的应用
  9. php的redis安装配置,Redis 的安装配置介绍_php
  10. Go语言核心36讲(Go语言实战与应用十九)--学习笔记
  11. flash builder激活
  12. BJFUOJ 1429
  13. Excel数据计数(count)
  14. Random不出现重复数字
  15. 文本相似度计算 python去停用词_python专业方向 | 文本相似度计算
  16. 微信支付-支付结果通知接收
  17. nanopi neo2 black 上电使用
  18. 带你认识一下“京东到家-网关系统”
  19. 电子时钟的模拟(C++结构体与模块化开发)
  20. 关于@GeneratedValue和@GenericGenerator的学习笔记

热门文章

  1. 数据结构(07)— 线性顺序表基本操作
  2. pip install nmslib 失败 (error: command ‘x86_64-linux-gnu-gcc‘ failed with exit status 1)
  3. Python+OpenCV 图像处理系列(4)—— 图像像素的读写、算术运算、逻辑运算及像素的统计
  4. visual2017中给C#项目添加配置文件
  5. python编程问题--第四次
  6. LeetCode简单题之长度为三且各字符不同的子字符串
  7. MindSpore应用目标
  8. NVIDIA Turing Architecture架构设计(上)
  9. Python数据挖掘:数据转换-数据规范化
  10. C++ set 的使用