编程语言
首页 > 编程语言> > CoreJava集合

CoreJava集合

作者:互联网

foreach循环:除了使用迭代器遍历集合之外,使用JDK1.5及以上提供的增强for循环,也可以遍历集合。

foreach循环的格式:
for(变量类型 变量名 : 集合){ 
    //操作变量 
}
相当于,每次循环,使用指定变量,去指向集合中的一个对象,然后在循环体中对该变量进行操作   集合   java.util   接口:     Collection       list:允许重复,记录元素进入集合的先后顺序       set:不予许重复,不记录元素进入集合的先后顺序         sortedset set加排序     Map:键值对(key:value) key不允许重复       sortedmap: Map+对key排序   数据类型 变量名=new 数据类型();   实现类:   LIst:   Set:  在map的基础上实现(value为none)     Object       toString()       equals()       hashcode()

 

 

  Map:

排序规则:

String排序: str1.compareTo(str2);

 

 

 

 

package com.collection;
import com.bean.Book;
import org.junit.Test;
import java.util.*;

public class CollectionTest {
    Comparator c=new Comparator(){
        public int compare(Object o1, Object o2){
            Book b1=(Book) o1;
            Book b2=(Book) o2;
//            if (b1.getBookName()=="百年孤独" || b2.getBookName()=="百年孤独") return 1;
            return b1.getBookName()=="百年孤独"? 1 :(b2.getBookName()=="百年孤独"? 1 :
                    (Integer.parseInt(b1.getBookId())==Integer.parseInt(b2.getBookId()))?
                            Float.compare(b1.getPrice(), b2.getPrice()):
                            Integer.compare(Integer.parseInt(b1.getBookId()), Integer.parseInt(b2.getBookId())));
//            if (Integer.parseInt(b1.getBookId())==Integer.parseInt(b2.getBookId())){
//                return Float.compare(b1.getPrice(), b2.getPrice());
//            }else{
//                return Integer.compare(Integer.parseInt(b1.getBookId()), Integer.parseInt(b2.getBookId()));
//            }
//            return  Integer.compare(Integer.parseInt(b1.getBookId()), Integer.parseInt(b2.getBookId()));
//    public int compareTo(Object o){
//        Book other = (Book) o;
//        return Float.compare(this.price, other.price);
//        /*
//        等价于if(this.price > other.price){
//            return 1;
//        }else if(this.price < other.price){
//            return -1;
//        }else{
//            return 0;}
//         */
//    }
        }
    };
    @Test
    public void test1(){
        System.out.println("junit test1");
    }
    @Test
    public void test2(){
        //1、构建一个list集合,存储String类型的元素
        ArrayList<String> list=new ArrayList<>();
        for(int lm=0; lm<6; lm++){
            String str = "hello" + lm;
            list.add(str);
        }
        for(String str:list){
            System.out.println(str);
        }
    }

    @Test
    public void testSet(){
        //使用hashset集合添加整数
        Set<String> set=new HashSet<>();
        for(int i=0; i<6; i++){
            String str = "hello" + i;
            set.add(str);
        }
        set.add("hello1");
        System.out.println(set.size());
        System.out.println(set);
    }
    @Test
    public void bookTestSet(){
        //构建三本书依次添加到set集合中
        Set<Book> book=new HashSet<Book>();
        Book book1=new Book("100001", "百年孤独", 20.9f);
//        Book book2=book1;
        Book book2=new Book("100001", "百年孤独", 29.9f);
//        book.add(new Book("100001", "百年孤独", 20.9f));
//        book.add(new Book("100001", "百年孤独", 29.9f));
//        book.add(new Book("100001", "百年孤独", 20.9f));
        book.add(book1);
        book.add(book2);
        for(Book bk:book){
            System.out.println(bk);
        }
//        System.out.println(book);
    }

    @Test
    public void testTreeSet(){
        Set<Book> book= new TreeSet<>(c);
        book.add(new Book("100002", "第二十二条军规", 29.9f));
        book.add(new Book("100001", "百年孤独", 29.9f));
        book.add(new Book("100001", "百年孤独", 26.9f));
        book.add(new Book("100003", "知更鸟女孩", 19.9f));
        for(Book bk:book){
            System.out.println(bk);
        }
    }
}

 

标签:百年孤独,book,Book,b1,Integer,集合,new,CoreJava
来源: https://www.cnblogs.com/qiangang/p/13657059.html