可爱的静静 发表于 2017-8-14 11:36:55

java笔记 容器

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

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

                HashSet sport1 =new HashSet ();
                sport1.add("run");
                sport1.add("walk");
                sport1.add("run");
                System.out.println(sport1);
输出结果:


--------------------------


String to String

常用的方法:

返回值类型方法详细
booleanadd(E o)如果没有添加的元素,则添加元素
voidclear()移除所有元素。
Iterator<E>iterator()

对此集合中元素进行迭代的迭代器
booleanremove(Object o)如果指定元素存在于此集合中,则将其移除。
intsize()返回集合的长度

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



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

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

      }

<>限制了这个容器只能存放的对象 而这个<>只能放对象相对应的类 也就是说 int这些基本类型的类不可以 但是包裹类 可以(Integer)
常用方法

类型方法详细
Vput(K key, V value)在此映射中关联指定值与指定键
voidclear()          从此映射中移除所有映射关系。
Set<K>keySet()

返回此映射中所包含的键的 set 视图。
Vremove(Object key)如果此映射中存在该键的映射关系,则将其删除。
intsize()

返回此映射中的键-值映射关系数。
Vg et(Object key) 返回指定键在此标识哈希映射中所映射的值,如果对于此键来说,映射不包含任何映射关系,则返回 null。

         
{:10_297:} 容器关系表如图:



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

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

package UI;

import java.util.*;
import java.util.Iterator;
public class ds {

      public static void main(String[] args) {
                System.out.println("---------HashMap-----------");
                HashMap<Integer ,String> a=new HashMap<Integer ,String>();
                a.put(1,"ni");
                a.put(2,"i");
                a.put(3,"h");
                a.put(4,"nai");
                System.out.println(a.get(1));
                System.out.println(a.get(2));
                System.out.println(a.get(3));
                System.out.println(a.get(4));
                a.remove(1);
                System.out.println(a);

                Iterator b=a.keySet().iterator();
                while(b.hasNext()){
                        int c=(int)b.next();//返回Object类 转型,b.next输出的只是key
                        System.out.println(c+","+a.get(c));
                        
                }
                System.out.println("-------ArrayList和迭代器-------------");
                ArrayList sport =new ArrayList();
                sport.add("run");
                sport.add("walk");
                sport.add("run");
                Iterator s1=sport.iterator();
                while(s1.hasNext()){
                        System.out.println(s1.next());
                        
                }
                System.out.println("---------HashSet和迭代器-------------");
                HashSet sport1 =new HashSet ();
                sport1.add("run");
                sport1.add("walk");
                sport1.add("run");
               
                Iterator s2=sport1.iterator();
                while(s2.hasNext()){
                        System.out.println(s2.next());
                        
                        
                }

      }
      
}

页: [1]
查看完整版本: java笔记 容器