问题背景 Java 集合有个缺点,把一个对象"丢进"集合里之后,集合就会"忘记"这个对象的数据类型,当再次取出该对象时 该对象的编译类型就变Object类型(其运行时类型没变),Java集合之所以被设计成这样,是因为集合的设计者不知道我们会用集合来保存什么类型的对象所以他们把集合设计成能保存任何类型的对象,只要求具有很好的通用性.但是,有可能使用过程中不符合预期,导致运行时报错. import java.util.ArrayList; import java.uti…
HashSet集合存储数据的结构 HashSet集合存储元素不重复的原理 //创建HashSet集合对象 Hashset<String> set = new HashSet<>(); string s1 = new String(original: "abc") ; string s2 = new String( original: "abe"); set.add(s1); set.add(s2); set.add("重地"…
本概述是从<JDBCTM Database Access from JavaTM: A Tutorial and Annotated Reference>这本书中摘引来的.JavaSoft 目前正在准备这本书.这本书是一本教程,同时也是 JDBC 的重要参考手册,它将作为 Java 系列的组成部份,在 1997 年春季由 Addison-Wesley 出版公司出版. 8.1 概述 由于 SQL 数据类型和 Java 数据类型是不同的,因此需要某种机制在使用 Java 类型的应用程序和使用 SQ…
1.JAVA中,char占2字节,16位.可在存放汉字 2.char赋值 char a='a'; //任意单个字符,加单引号. char a='中';//任意单个中文字,加单引号. char a=111;//整数.0~65535.十进制.八进制.十六进制均可.输出字符编码表中对应的字符. 注:只能放单个字符. 3.char运算 char类型是可以运算的因为char在ASCII等字符编码表中有对应的数值. 在JAVA中,对char类型字符运行时,直接当做ASCII表对应的整数来对待. 示例1: c…
set集合元素为什么不能重复 集合重写了toString的方法所以打印是里面的内容 往里面存了三次abc 哈希表,初始容量是16个 set集合存储字符串的时候比较特殊 横着是数组,竖着就是链表结构.跟着哈希值挂载 然后添加s2 存储“重地”这个元素 存储通话…
package com.bjpowernode.t01list; import java.util.ArrayList; /* * 向集合中添加自定义类型 */public class TestList04 { public static void main(String[] args) { ArrayList list = new ArrayList(); Student s1 = new Student("1001","jack",19); Student s2…
下面的示例来至于阿里巴巴Java开发手册的集合处理部分的第7条: 运行如下代码,会发现正确运行. public static void hasNotExcption() { List<String> list1 = new ArrayList<String>(); list1.add("1"); list1.add("2"); for (String item : list1) { System.out.println("item…
背景描述      关于JAVA去操作Redis时,如何存储一个对象的数据,大家是非常关心的问题,虽然官方提供了存储String,List,Set等等类型,但并不满足我们现在实际应用.存储一个对象是是非常常见的.经过网上查找资料和实践操作后,整理出Redis如果存储一个对象的demo代码,如果有错误的地方大家可以留言指出. 参考资料 参考地址: 原理 在存储对象时先进行序列化,取出数据时再进行反序列化. Redis版本 Redis3.0 https://mvnrepository.com/art…
public class Student { private String name; private int age; private int id; public Student() {  super(); } public Student(String name, int age, int id) {  super();  this.name = name;  this.age = age;  this.id = id; } public String getName() {  retur…
Collection 之 Set 实现类: HashSet TreeSet 特点: 无序. 元素不可重复. (如果试图添加一个已经有的元素到一个Set集合中,那么会添失败,add()方法返回false,且新元素不会被加入) HashSet: HashSet是Set接口的典型实现,大多数我们就是用的这个实现类.HashSet是按照Hash算法来存储集合中的元素,因此它具有非常好的存取和查找性能. 特点: 元素的值可以是null. HashSet是不同步的,如果有多个线程访问一个HashSet我们必…
Set接口 java.util.Set接口 extends Collection接口 Set接口的特点: 不允许存储重复的元素 没有索引,没有带索引的方法,也不能使用普通的for循环遍历 java.util.HashSet集合 implements Set接口 HashSet特点: 不允许存储重复的元素 没有索引,没有带索引的方法,也不能使用普通的for循环遍历 是一个无序的集合,存储元素和取出元素的顺序有可能不一致 底层是一个哈希表结构(查询的速度非常快) Set<Integer> set…
Redis支持五中数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及zset(sortedset:有序集合). Redis定义了丰富的原语命令,可以直接与Redis服务器交互.实际应用中,我们不太会直接使用这些原语命令,Redis提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,大多情况下我们是通过各式各样的客户端来操作Redis.但是,任何语言的客户端实际上都是对Redi…
今日内容介绍1.自定义类型的定义及使用2.自定义类的内存图3.ArrayList集合的基本功能4.随机点名器案例及库存案例代码优化 ###01引用数据类型_类 * A: 数据类型 * a: java中的数据类型分为:基本类型和引用类型 * B: 引用类型的分类 * a: Java为我们提供好的类,比如说:Scanner,Random等. * b: 我们自己创建的类,按照类的定义标准,可以在类中包含多个方法与属性,来供我们使用. ###02自定义类的概述 * A: 自定义类的概述 * java代码…
参考资料 参考 HashMap 类似 C++ 中的 STL 标准模板库,Java 也在 java.util 包中封装了一套常用数据结构及其算法,称为集合框架.所有的集合框架都包含如下内容: 接口:代表集合的抽象数据类型 ADT,如 Collection.List.Set.Map 等 实现(类):集合接口的具体实现,是可重复使用的数据结构,例如:ArrayList.LinkedList.HashSet.HashMap. 算法:实现集合接口的对象里的方法,可以执行一些有用的计算,例如:搜索和排序.这…
集合主要是用来存放数据的,集合与数组的主要区别在于,集合的大小不受限制,而数组的大小受限制,在使用集合增加数据时又常常与泛型联系起来,所以集合和泛型在实际开发过程中总会结合在一起 数组致命的缺点是数组大小一旦确定,其大小将不在改变,集合可以认为是一种可变的数组,大小可以随着元素的增加而增加. 集合与数组具体的区别: 1.数组是一个线性序列,所以可以快速访问其他元素,当用户创建了一个数组时,其容量是不变的,而且在生命周期也是不能改变的,还有java数组会做边界检查,如果发现有越界现象,会报Runt…
菜鸟拙见,望请纠正:附上JDK参考文档(中文文档和英文文档):链接:https://pan.baidu.com/s/14KDmCtQxeGCViq7e0zENjA 密码:e9xs  以及算法篇全文链接  https://www.cnblogs.com/nullering/p/9536339.html 一:前言 说完了数据结构的基础认知,我想扯一个外传——Java的集合.Java的集合只是一些能够盛放对象的容器,而这些容器的实现,则是用了不同的数据结构,我们在使用Java语言时,这些集合类就是我们…
List集合和Set集合,先来看List集合. List集合存储元素的特点: 1.有序(List集合中的元素有下标):存进去是什么样,取出来还是什么样 2.可重复 可以结合以下的简单代码来看一看. import java.util.*;public class ListTest01{ public static void main(String[] args){   List l=new ArrayList();   l.add(100);   l.add(32);   l.add(32); …
今日内容介绍 1.自定义类型的定义及使用 2.自定义类的内存图 3.ArrayList集合的基本功能 4.随机点名器案例及库存案例代码优化 01引用数据类型_类 * A: 数据类型 * a: java中的数据类型分为:基本类型和引用类型 * B: 引用类型的分类 * a: Java为我们提供好的类,比如说:Scanner,Random等. * b: 我们自己创建的类,按照类的定义标准,可以在类中包含多个方法与属性,来供我们使用. 02自定义类的概述 * A: 自定义类的概述 * java代码映射…
今日内容介绍 1.自定义类型的定义及使用 2.自定义类的内存图 3.ArrayList集合的基本功能 4.随机点名器案例及库存案例代码优化 01引用数据类型_类 * A: 数据类型 * a: java中的数据类型分为:基本类型和引用类型 * B: 引用类型的分类 * a: Java为我们提供好的类,比如说:Scanner,Random等. * b: 我们自己创建的类,按照类的定义标准,可以在类中包含多个方法与属性,来供我们使用. 02自定义类的概述 * A: 自定义类的概述 * java代码映射…
1.自定义类class 使用类的形式, 对现实中的事物进行描述. 类是引用数据类型. 事物: 方法,变量. 方法:事物具备的功能. 变量:事物的属性. 格式: public class 类名{ //属性定义(变量): 修饰符 数据类型 变量名 = 值; //功能定义(方法): 修饰符 返回值类型 方法名(参数列表){ } } 2.使用自定义类 创建引用类型变量的格式: 数据类型 变量名 = new 数据类型(); 实现引用类型的步骤: 1.导入包. 类在同一个文件夹,不需要导入包. 2.创建引用…
匿名方法:通过匿名委托 .lamada表达式定义的函数具体操作并复制给委托类型: 匿名委托:委托的一种简单化声明方式通过delegate关键字声明: 内置泛型委托:系统已经内置的委托类型主要是不带返回值的Action<T1,,,,Tn>和带返回值的Func<T1,,,Tn,Tresult> 实例代码(运行环境netcoreapp3.1) class demoFunc { /// <summary> /// 定义函数单条语句直接用lamada表达式 /// </su…
java.util.Collection接口 Java的集合主要由两个接口派生出来,一个是Collection一个是Map,本章只记录Collection常用集合 集合只能存储引用类型数据,不能存储基本类型数据 集合类是一种特别有用的工具类,它可以存放数量不等的对象,实现常用的数据结构,如栈,队列等.除此之外,Java集合还可用于保存具有映射关系的关联数组.简单的来说,Java集合就是一个容器,可以把多个对象丢进该容器中. Collection从父类接口Iterable中继承了抽象方法itera…
集合 ——集合就是java提供的一种容器,可以用来存储多个数据. 集合和数组的区别 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值. 集合存储的都是对象.而且对象的类型可以不一致.在开发中一般当对象多的时候,使用集合进行存储. 接口继承关系与实现 集合类存放于 Java.util 包中,主要有 3 种:set(集).list(列表包含 Queue)和 map(映射). 1. **Collection:**Collection 是集合 List.Se…
转载:http://blog.csdn.net/qingchunbusanchang/article/details/39576749 java的集合是一个比较综合的概念,相关的知识有很多的博客里面做了说明,这里面只找一些重要的说明一下. 各方面详细的说明还是要参照网上的一些更详细的资料进行学习. 下面文章中有很多是借鉴别人写的关于集合的总结,供参考. 一.重要的接口以及实现类. 1.Collection接口 Collection接口是最基本的集合接口,用来定义了存储数据的形式. 由Collec…
集合框架 一 去除List集合中的重复元素. 思路: 1,先创建一个临时容器.用于存储唯一性的元素.2,遍历原容器,将遍历到的元素到临时容器中去判断,是否存在.3,如果存在,不存储到临时容器,如果不存在,存储到临时容器中.4,遍历结束后,临时容器中存储的就是唯一性的元素.5,如果需要将这些唯一性的元素保留到原容器中,只要将原容器清空,将临时容器中的元素添加到原容器中即可.代码实现 package cn.itcast.api.b.list.subclass; import java.util.Ar…
在程序设计中经常用到一系列的数据类型,在Java中也一样包含八中数据类型,这八种数据类型又各自对应一种包装器类型.如下表: 基本类型 包装器类型 boolean Boolean char Character int Integer byte Byte short Short long Long float Float double Double 为什么存在这两种类型呢? 我们都知道在Java语言中,new一个对象存储在堆里,我们通过堆栈中的引用来使用这些对象:但是对于经常用到的一系列类型如int…
背景: Java不允许我们把对象放在一个未知的集合中. import java.util.ArrayList; import java.util.List; /** * @ClassName MethodTest * @projectName: object1 * @author: Zhangmingda * @description: 方法泛型的问题引出案例:当我们创建一个方法,数组中对象加到一个List集合中时, * Java不允许我们把对象放在一个未知数据类型的集合中. * date: 2…
1. List集合存储学生对象并遍历: 需求:存储字符串并遍历 分析: (1)创建集合对象 (2)创建字符串对象 (3)添加字符串对象到集合中 (4)遍历集合 2. 代码示例: package cn.itcast_04; import java.util.ArrayList; import java.util.List; import java.util.Iterator; /* * 需求:存储字符串并遍历. * * 分析: * A:创建集合对象 * B:创建字符串对象 * C:把字符串对象添加…
1.  Collection集合存储字符串并遍历 分析: (1)创建集合对象 (2)创建字符串对象 (3)把字符串对象添加到集合中 (4)遍历集合 2. 代码示例: package cn.itcast_04; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; /* * 需求:存储字符串并遍历. * * 分析: * A:创建集合对象 * B:创建字符串对象 * C:把字符串对象添加…
以下转自:http://kummy.itpub.net/post/17165/172850 本文在原文基础上有增减. 本概述是从<JDBCTM Database Access from JavaTM: A Tutorial and Annotated Reference>这本书中摘引来的.JavaSoft 目前正在准备这本书.这本书是一本教程,同时也是 JDBC 的重要参考手册,它将作为 Java 系列的组成部份,在 1997 年春季由 Addison-Wesley 出版公司出版. 8.1 概…