鱼C论坛

 找回密码
 立即注册
查看: 2998|回复: 0

[学习笔记] java笔记 容器

[复制链接]
发表于 2017-8-14 11:36:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 可爱的静静 于 2017-8-14 11:42 编辑

HashSetl类 集合
和ArrayList 差不多 不同的是ArrayList 可以存放相同的数据 而HashSet当遇到相同的时候就会覆盖之前的
例如:
  1. ArrayList sport =new ArrayList();
  2.                 sport.add("run");
  3.                 sport.add("walk");
  4.                 sport.add("run");
  5.                 System.out.println(sport);
  6.                 System.out.println("--------------------------");

  7.                 HashSet sport1 =new HashSet ();
  8.                 sport1.add("run");
  9.                 sport1.add("walk");
  10.                 sport1.add("run");
  11.                 System.out.println(sport1);
复制代码
输出结果:

[run, walk, run]
--------------------------
[run, walk]

String to String

常用的方法:
  
返回值类型
  
  
方法
  
  
详细
  
  
boolean
  
  
add(E o)
  
  
如果没有添加的元素,则添加元素
  
  
void
  
      
移除所有元素。
  
      
iterator()
  
  
  
  
对此集合中元素进行迭代的迭代器
  
  
boolean
  
      
如果指定元素存在于此集合中,则将其移除。
  
  
int
  
      
返回集合的长度
  

总结ArrayList 与HashSet相同之处 add(),clear(),remove(),size iterator,还有就是如果:
AllayList a=new ArrayList();
System.out.println(a);   输出结果是容器的全部元素 HashSet也是



HashMap(键值)
就是这个类存放的是  1 相对应 First
2 相对应 Second
这个容器 既放1 也放first

例如:
  1. public static void main(String[] args) {
  2.                 HashMap<Integer ,String> a=new HashMap<Integer ,String>();
  3.                 a.put(1,"ni");
  4.                 a.put(2,"i");
  5.                 a.put(3,"h");
  6.                 a.put(4,"nai");
  7.                 System.out.println(a.get(1));
  8.                 System.out.println(a.get(2));
  9.                 System.out.println(a.get(3));
  10.                 System.out.println(a.get(4));
  11.                 a.remove(1);
  12.                 System.out.println(a);
  13.                

  14.         }
复制代码

<>限制了这个容器只能存放的对象 而这个<>只能放对象相对应的类 也就是说 int这些基本类型的类不可以 但是包裹类 可以(Integer)
常用方法
  
类型
  
  
方法
  
  
详细
  
      
put(K key, V value)
  
  
在此映射中关联指定值与指定键
  
  
void
  
      
          从此映射中移除所有映射关系。
  
      
keySet()
  
  
  
  
返回此映射中所包含的键的 set 视图。
  
          
如果此映射中存在该键的映射关系,则将其删除。
  
  
int
  
  
size()
  
  
  
  
返回此映射中的键-值映射关系数。
  
  
V
  
  
g et(Object key)
  
  
  
返回指定键在此标识哈希映射中所映射的值,如果对于此键来说,映射不包含任何映射关系,则返回 null
  

         
容器关系表如图:



List(列表),Set(集)
List:可存放重复元素,元素存取是有序的。 Set:不可以存放重复元素,元素存取是无序 的。

而且迭代器里 in.next();返回的是Object类有不要的时候需要转型
看上图Map和List  Set都可以用迭代器 不同的是 需要用到对象key索引

  1. package UI;

  2. import java.util.*;
  3. import java.util.Iterator;
  4. public class ds {

  5.         public static void main(String[] args) {
  6.                 System.out.println("---------HashMap-----------");
  7.                 HashMap<Integer ,String> a=new HashMap<Integer ,String>();
  8.                 a.put(1,"ni");
  9.                 a.put(2,"i");
  10.                 a.put(3,"h");
  11.                 a.put(4,"nai");
  12.                 System.out.println(a.get(1));
  13.                 System.out.println(a.get(2));
  14.                 System.out.println(a.get(3));
  15.                 System.out.println(a.get(4));
  16.                 a.remove(1);
  17.                 System.out.println(a);

  18.                 Iterator b=a.keySet().iterator();
  19.                 while(b.hasNext()){
  20.                         int c=(int)b.next();//返回Object类 转型,b.next输出的只是key
  21.                         System.out.println(c+","+a.get(c));
  22.                         
  23.                 }
  24.                 System.out.println("-------ArrayList和迭代器-------------");
  25.                 ArrayList sport =new ArrayList();
  26.                 sport.add("run");
  27.                 sport.add("walk");
  28.                 sport.add("run");
  29.                 Iterator s1=sport.iterator();
  30.                 while(s1.hasNext()){
  31.                         System.out.println(s1.next());
  32.                         
  33.                 }
  34.                 System.out.println("---------HashSet和迭代器-------------");
  35.                 HashSet sport1 =new HashSet ();
  36.                 sport1.add("run");
  37.                 sport1.add("walk");
  38.                 sport1.add("run");
  39.                
  40.                 Iterator s2=sport1.iterator();
  41.                 while(s2.hasNext()){
  42.                         System.out.println(s2.next());
  43.                         
  44.                         
  45.                 }

  46.         }
  47.         
  48. }
复制代码

无标题.png

评分

参与人数 3荣誉 +9 鱼币 +13 贡献 +3 收起 理由
小甲鱼 + 4
Minhal + 4 + 4 + 3 支持楼主!
alltolove + 5 + 5 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-30 23:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表