程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> java基礎_集合List與Set接口,java集合listset

java基礎_集合List與Set接口,java集合listset

編輯:JAVA綜合教程

java基礎_集合List與Set接口,java集合listset


  • LinkedList集合幾個方法需要掌握
  • addFrist()  在集合的首部添加元素
  • addLast()  在集合的尾部添加元素
  • removeFirst() 移除集合首部的元素
  • removeLast() 移除集合尾部的元素
  • getFrist() 獲取集合首部的元素
  • getLast() 獲取集合尾部的元素
  • isEmpty() 判斷集合是否為空
  • 		LinkedList<String> linkedList = new LinkedList<>();
    		linkedList.add("a");
    		linkedList.add("a");
    		linkedList.add("b");
    		linkedList.add("a");
    		
    		linkedList.addFirst("0");
    		linkedList.addLast("9");
    		System.out.println(linkedList);
    		
    		
    		linkedList.removeLast();
    		System.out.println(linkedList);
    		linkedList.removeFirst();
    		System.out.println(linkedList);
    		
    		String first = linkedList.getFirst();
    		System.out.println(first);
    		String last = linkedList.getLast();
    		System.out.println(last);
    		
    		boolean b = linkedList.isEmpty();
    		System.out.println(b);
    
  •  

     
  • Set接口(無序,不重復的)
  • 我們直接學習HashSet接口
  • HashSet當你存儲相同元素時,是添加不進去的 他會判斷集合中是否存在,這裡我們用自定義的引用類型說明
  • package com.Set集合;
    
    public class Person {
        private String name;
        private int age;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public Person(String name, int age) {
            super();
            this.name = name;
            this.age = age;
        }
        public Person() {
            super();
            // TODO Auto-generated constructor stub
        }
        @Override
        public int hashCode() {
            final int prime = 31;
            int result = 1;
            result = prime * result + age;
            result = prime * result + ((name == null) ? 0 : name.hashCode());
            return result;
        }
        @Override
        public boolean equals(Object obj) {
            if (this == obj)
                return true;
            if (obj == null)
                return false;
            if (getClass() != obj.getClass())
                return false;
            Person other = (Person) obj;
            if (age != other.age)
                return false;
            if (name == null) {
                if (other.name != null)
                    return false;
            } else if (!name.equals(other.name))
                return false;
            return true;
        }
        @Override
        public String toString() {
            return "Person [name=" + name + ", age=" + age + "]";
        }
        
    }

    這裡注意我們需要重寫HashClod方法與equlas()方法  當然在打印的時候需要重寫toString()方法

  •     public static void main(String[] args) {
            HashSet<Person> hashSet = new HashSet<>();
            hashSet.add(new Person("張三",12));
            hashSet.add(new Person("李四",12));
            hashSet.add(new Person("張三",12));
            hashSet.add(new Person("張三",21));
    //        System.out.println(hashSet);
            Iterator<Person> iterator =hashSet.iterator();
            while(iterator.hasNext()){
                Person next = iterator.next();
                System.out.println(next);
            }
        }
    }
    //執行結果為:張三 12
    李四 12
    張三 21

     

  • 這就是HashSet的去重復元素的功能  結果是無序的
  • Set接口下還有一個LinkedHashSet集合,這是彌補了Set無序的缺點
  • public class Demo02_LinkedHashSet {
        public static void main(String[] args) {
            LinkedHashSet<String> hashSet = new LinkedHashSet<>();
            hashSet.add("a");
            hashSet.add("b");
            hashSet.add("c");
            hashSet.add("d");
            //增強for遍歷
            for (String string : hashSet) {
                System.out.print(string+" ");
            }
           //迭代器遍歷 
            Iterator<String> iterator = hashSet.iterator();
            while(iterator.hasNext()){
                String str = iterator.next();
                System.out.println(str);
            }
            
            System.out.println(hashSet);
        }

     

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved