首页 > 代码库 > java面向对象---对象容器

java面向对象---对象容器

泛型类——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面向对象---对象容器