泛型类——ArrayList<>;

2.对象数组中的每个元素都是对象的管理者而并非对象本身!!!!!

3.java类的基本数据类型

 

基本数据类型 包装类

byte

Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

 4.for-each循环在对象数组中的应用

  在基本类型的数组中,比如 int[],使用for-each 循环可以遍历数组中的值,但是不能对数组中的值做修改,是因为使用for-each拿到的是数组中的一个复制品,而并不是真正的数组中的变量,所以无法实现对原来数组中元素的修改;

  在对象类数组中,对象类数组中的元素并不是真正的变量,只是对象的管理者而非对象本身。那么,在对 对象类数组做for-each循环时

举个例子:  for(String s:a){

       System.out.println(s);

       s = "hello world";

       }

这时相当于把对象类数组 a 中的每一个元素(注意:此时a中的元素是对象的管理者并非对象本身)赋值给 s,即变量 s 和数组中的元素 a[i] 共同管理着那个真实的变量;

那么此时通过变量 s 修改s所指向的那个元素也就相当于修改对象类数组中对象指向的变量

5.

private int i;

public String toString(){

  return ""+i;

}

//toString 函数非常神奇,在类中定义这个函数(注意:函数的命名和操作必须一模一样),直接打印这个类的对象可以打印,如System.out.println(类的对象名);

6.SET---集合

HashSet<String> s = new HashSet<String>();
        s.add("first");
        s.add("second");
        s.add("first");
        s.add("first");
        s.add("first");
        for(String k: s){
            System.out.println(k);
        }

set 与 ArrayList类似,都是容器的一种,set在java中与数学中的集合是一样的,具有无序性和元素唯一性。

7.散列表---HashMap

package coins;

import java.util.HashMap;
import java.util.Scanner;

public class Coin {
    private HashMap<Integer, String> coinnames = new HashMap<Integer,String>();
    public Coin(){
        coinnames.put(1, "penny");
        coinnames.put(10, "dime");
        coinnames.put(25, "quarter");
        coinnames.put(50, "half-dollar");
        coinnames.put(50, "五毛");
        
        System.out.println(coinnames);
        System.out.println(coinnames.keySet());
        System.out.println(coinnames.keySet().size());
        
        //遍历HashMap
        for(int i:coinnames.keySet()){
            String s = coinnames.get(i);
            System.out.println(s);
        }
        
    }
    public String getName(int amount){
        if(coinnames.containsKey(amount))
            return coinnames.get(amount);
        else
            return "NOT FOUND";
    }
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int amount = in.nextInt();
        Coin coin = new Coin();
//        String name = coin.getName(amount);
//        System.out.println(name);
        //System.out.println(coin.getName(amount));

    }

}

散列表也是一种容器,数据在hashmap中是以键值对的形式被存贮,即一个键对应一个值。每一个键都是唯一的,不可重复。

java面向对象---对象容器的更多相关文章

  1. Java面向对象-对象的多态性

    Java面向对象-对象的多态性 Java中的多态性表现: 1,方法的重载和重写(覆盖): 2,可以用父类的引用指向子类的具体实现,而且可以随时更换为其他子类的具体实现: 我们先搞个父类Animal: ...

  2. [ Java学习基础 ] Java的对象容器 -- 集合

    当你有很多书时,你会考虑买一个书柜,将你的书分门别类摆放进入.使用了书柜不仅仅使房间变得整洁,也便于以后使用书时方便查找.在计算机中管理对象亦是如此,当获得多个对象后,也需要一个容器将它们管理起来,这 ...

  3. Java基础——对象容器(顺序、集合、Hash)

    扩展: For-each循环 for (String s: str) { System.out.println(s); } 等同于for (int i = 0; i < str.length; ...

  4. java面向对象---对象初始化

    在本地变量中,如果定义了一个变量后没有赋值就使用,那么eclipse就会报错:但是在成员变量中,java是会强制给一个没有初始化的变量一个默认的初始值0, 如果是一个boolean类型的变量,那么默认 ...

  5. JAVA面向对象

    JAVA面向对象 对象   我们生活中能看到能摸到的一切事物都是对象.在程序中模拟出生活中的所有东西万物皆对象   只要是对象--属性和行为(方法)   属性   对象有什么   例如:学生有姓名.学 ...

  6. Java面向对象 String 基本数据类型对象包装类

      Java面向对象  String 知识概要:              (1)String的用法详解 (2)基本数据类型对象包装类 String          顾名思义,该类主要是对字符串 ...

  7. Java面向对象 其他对象

     Java面向对象  其他对象 知识概要:             (1)可变参数 (2)静态导入 (3)System (4)Runtime (5)Date  Calendar (6)Math 本 ...

  8. JAVA面向对象-----值交换(基本数据类型 数组类型 对象的值 字符串的)

    JAVA面向对象-–值交换 基本数据类型交换 数组类型交换 对象的值交换 字符串的值交换 恩,没错,又是贴图,请大家见谅,我也是为了多写几个文章,请大家谅解. 字符串的值交换: 交换值失败. 这个文章 ...

  9. java 从spring容器中获取注入的bean对象

      java 从spring容器中获取注入的bean对象 CreateTime--2018年6月1日10点22分 Author:Marydon 1.使用场景 控制层调用业务层时,控制层需要拿到业务层在 ...

随机推荐

  1. spider RPC安全性

    spider提供了多重安全保障机制,目前主要支持接入握手校验,报文完整性校验,报文加密,报文长度检查四种机制. 接入认证 spider使用两次握手校验,其握手流程如下: 签名AES加密的方式实现. l ...

  2. java静态修饰符static的使用

    class Person { private String name; private int age; /* * 假设每个Person对象的国籍都一样, * 那么每次调用都要赋值就会不合理. * 使 ...

  3. swing with transformjs

    Antecedent Facebook made a HTML5 game long time ago. The opening animation is a piece of software th ...

  4. 移动Web利器transformjs入门

    简介 在过去的两年,越来越多的同事.朋友和其他不认识的童鞋进行移动web开发的时候,都使用了transformjs,所有必要介绍一下,让更多的人受益,提高编程效率,并享受编程乐趣.(当然transfo ...

  5. Mysql(windows)安装

    h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...

  6. javascript代码 调试方法

    你的代码可能包含语法错误,逻辑错误,如果没有调试工具,这些错误比较难于发现. 通常,如果 JavaScript 出现错误,是不会有提示信息,这样你就无法找到代码错误的位置. 在程序代码中寻找错误叫做代 ...

  7. Kotlin开发语言文档(官方文档)-- 目录

    开始阅读Kotlin官方文档.先上文档目录.有些内容还未阅读,有些目录标目翻译还需琢磨琢磨.后续再将具体内容的链接逐步加上. 文档链接:https://kotlinlang.org/docs/kotl ...

  8. 记录一次Quartz2D学习(七)

    (六)内主要讲述了图片的裁剪 本次主要讲交互 7.交互 7.1  通过外部刷新内部的显示效果 初始化的时候设定好初始值,调用setNeedsDisplay方法来重新绘制 - (instancetype ...

  9. 使用rsync同步目录

    本文描述了linux下使用rsync单向同步两个机器目录的问题. 使用rsync同步后可以保持目录的一致性(含删除操作). 数据同步方式 从主机拉数据 备机上启动的流程 同步命令: rsync -av ...

  10. SQL优化技术分析-4:其他

    ORACLE的提示功能是比较强的功能,也是比较复杂的应用,并且提示只是给ORACLE执行的一个建议,有时如果 出于成本方面的考虑ORACLE也可能不会按提示进行.根据实践应用,一般不建议开发人员应用O ...