1.ArrayList集合中常用的方法

ArrayList<Student> stuArrayList = new ArrayList<>(); //定义一个集合对象

stuArrayList.add();    //添加元素

stuArrayList.add(index, e):    //在某个位置添加元素,但不覆盖原元素

stuArrayList.get(index):    //获取某位置的元素

stuArrayList.size():    //获取集合长度

stuArrayList.remove(""):    //删除某元素

stuArrayList.remove(index):    //删除某位置元素

stuArrayList.set(index,e):    //用e覆盖某位置元素

2.一个问题点:

ArrayList<String> list = new ArrayList<>();

System.out.println(list);  //打印结果为空,并不是地址值,因为底层作了toString转换。

/*println(obj)接收到obj参数时,会判断obj是否为空,如果为空,则输出null;若不为空,则调用Object的toString(),

返回的是"类名(利用反射获取)@哈希散列特征码(调用hashCode()方法,如果覆写就用覆写后的,如果没覆写就用本地的(c语言写的,jdk未提供耗源码))"*/

int []arr = new int[2];

syso(arr)://打印结果为内存地址

二.关于System.out.print(Object obj);的理解

1.System调用其类属性out,而out又是PrintStream类型,所以out可以调用类PrintStream的方法print.

2.调用print()打印Object时,会判断Object是否为空,如果为空,输出null;如果非空,调用Object的toString().

3.如果toString()方法被覆写,那就调用覆写后的;如果没有被覆写,就用自身的,自身的方法是用反射获取类名称,
     然后拼接一个"@",再调用hashCode()方法,并将其返回值变为16进制字符串.

4.如果hashCode()被覆写了,就调用覆写后的,输出后为哈希散列特征码;如果没有被覆写,就用自身的,
     这个自带的hashCode()实现的逻辑是本地代码,JDK源码并末提供.输出为地址值.

附:

public void print(Object obj)--java.io.PrintStream
     The string produced by the String.valueOf(Object) method is translated into bytes

public String toString()--- java.lang.String
     getClass().getName() + '@' + Integer.toHexString(hashCode())

ArrayList集合--关于System.out.print(Object obj);的理解的更多相关文章

  1. File类--System.out.print(Object obj)的理解

    一.File 类(java.io) 概述:Java中使用File类来表示文件或者文件夹对象!     抽象路径名:描述文件或文件夹时,使用的路径符号,就是一个对象的字符串表示形式,如"c:\ ...

  2. 2016年10月16日--ArrayList集合、特殊集合

    ArrayList集合 使用前引用 using System.Collections; ArrayList集合 实例化.初始化 ArrayList al = new ArrayList(); Arra ...

  3. C#部分---arraylist集合、arraylist集合中的object数据转换成int类string类等;间隔时间的表示方法;

    ArrayList和Array的区别: 相同点:1.两者都实现了IList.ICollection.IEnumerable接口:       2.两者都可以使用证书索引访问集合中的元素,包括读取和赋值 ...

  4. java集合 collection-list-ArrayList 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。

    import java.util.*; /* 将自定义对象作为元素存到ArrayList集合中,并去除重复元素. 比如:存人对象.同姓名同年龄,视为同一个人.为重复元素. 思路: 1,对人描述,将数据 ...

  5. java集合 collection-list-ArrayList 去除ArrayList集合中的重复元素。

    import java.util.*; /* 去除ArrayList集合中的重复元素. */ class ArrayListTest { public static void sop(Object o ...

  6. Java 去除 ArrayList 集合中的重复元素

    // One practice package Collection; import java.util.ArrayList; import java.util.Iterator; // 去除 Arr ...

  7. 《java入门第一季》之ArrayList集合小案例

    案例一:去除集合里面的重复元素 package cn.itcast_04; import java.util.ArrayList; /* * ArrayList去除集合中字符串的重复值(字符串的内容相 ...

  8. 去除ArrayList集合中的重复自定义对象元素

    要求去除ArrayList集合中重复的Student的对象(什么叫重复,所有属性值都相同叫做重复). 思路: 1.创建一个新集合 2.遍历旧集合中的每一个元素,去新集合中找这个元素,如果这个元素不存在 ...

  9. [Java]ArrayList集合的contains方法

    用到集合ArrayList时经常会用到里面自带的方法boolean contains(Object o);此方法用于判断集合里面是否包含元素o,现在讨论下在Object类型为类类型的时候的情况: cl ...

随机推荐

  1. Day07:常用模块,面向对象编程(对象&类)及内置函数

    今日内容:1.常用模块2.面向对象编程(*****)    介绍面向对象编程    类    对象3.内置函数------------------------------1.面向过程编程    核心“ ...

  2. cocos2dx 获取精灵的高亮效果

    转自:http://blog.csdn.net/tyxkzzf/article/details/38703883 CCSprite* getHighlightSprite(CCSprite* norm ...

  3. Eclipse插件:tomcatPluginV33.zip 安装

    一.下载 地址:http://www.eclipsetotale.com/tomcatPlugin.html 二.安装 1.解压tomcatPluginV33.zip到Eclipse的\feature ...

  4. CentOS7 安装 odoo10

    一.安装Postgresql数据库 #添加RPM     yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rh ...

  5. wxGlade的图标,原来是来自蒙德里安的名画!

    一直用wxGlade做GUI的,今天突然发现它的图标和一副油画很像. wxGlade的图标,图标的文件名竟然就叫做mondrian.ico 蒙德里安创造了很多这种纯粹的基本要素的作品,下面是其中之一, ...

  6. this解惑

    前言 要正确理解this,首先得理解执行上下文,这里推荐汤姆大叔的执行上下文,因为this是在运行代码时确认具体指向谁,箭头函数除外. 全局作用域中的this node: 每个javaScript文件 ...

  7. 线性Softmax分类器实战

    1 概述 基础的理论知识参考线性SVM与Softmax分类器. 代码实现环境:python3 2 数据预处理 2.1 加载数据 将原始数据集放入"data/cifar10/"文件夹 ...

  8. html解决的兼容问题

    手机版不缩放 <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum ...

  9. opengl Polygon Offset

    http://www.cnblogs.com/bitzhuwei/archive/2015/06/12/4571539.html#_label2 启用了Polygon Offset,那么到底要把立方体 ...

  10. IT兄弟连 JavaWeb教程 创建异步请求对象

    异步请求对象:XMLHttpRequest对象,通过该对象向服务器发送异步请求.它是异步请求的技术,所有的现代浏览器(IE7+.FireFox.Chrome.Safari以及Opera)都支持,老版本 ...