学习集合1-哈希值简介和Set集合的基本使用

需积分: 0 0 下载量 143 浏览量 更新于2023-12-31 收藏 500KB PDF 举报
Set集合是一种用于存储元素的集合,它具有以下特点:元素存取无序,没有索引,只能通过迭代器或增强for循环进行遍历。同时,Set集合不能存储重复元素。在Java中,我们可以使用HashSet、TreeSet或LinkedHashSet等类来实现Set集合。 在学习Set集合的基本使用之前,我们需要了解哈希值的概念。哈希值是根据对象的地址、字符串或数字计算出来的int类型的数值。在Java中,可以使用Object类中的public int hashCode()方法来获取对象的哈希值。哈希值的特点是同一个对象多次调用hashCode()方法返回的哈希值是相同的。而默认情况下,不同对象的哈希值是不同的。然而,通过重写hashCode()方法,我们可以实现让不同对象的哈希值相同。 下面是一个获取哈希值的代码示例: ```java public class SetDemo { public static void main(String[] args) { //创建集合对象 Set<String> set = new HashSet<String>(); //添加元素 set.add("hello"); set.add("world"); set.add("java"); } } ``` 通过以上代码,我们可以看到在Set集合中添加了三个字符串元素。在这个示例中,我们并没有涉及到具体的哈希值的获取,但是在实际开发中,理解对象的哈希值是非常重要的。哈希值可以帮助我们更有效地理解和操作对象,比如在集合中查找、删除或插入元素。 总之,了解哈希值的概念对于理解集合的存储和操作是非常重要的。在实际开发中,我们经常会使用到Set集合来存储和操作元素,而对于这些元素的哈希值的理解和使用,将会对我们的开发工作产生积极的影响。

以下代码的输出结果是什么?package Day06; import javafx.print.Collation; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class CustDemo { public static void main(String[] args) { addCustInfo("张三"); addInger(123); addall("小胡","老张"); isLastNull(""); sort(); } private static void addCustInfo(String name){ ArrayList<Cust> custs=new ArrayList<>(); Cust cust=new Cust(); cust.setCustName(name); custs.add(cust); System.out.println(custs.get(0).getCustName()); System.out.println("集合的大小为:"+custs.size()); } private static void addInger(int age){ ArrayList<Integer>integers=new ArrayList<>(); integers.add(age); System.out.println(integers.get(0)); System.out.println("集合的大小为:"+integers.size()); } private static void addall(String name,String name2){ ArrayList<String >strings=new ArrayList<>(); strings.add(name); ArrayList<String> strings1=new ArrayList<>(); strings1.add(name2); strings.addAll(strings1); for(String str:strings){ System.out.println(str); } System.out.printf("----->\n"); System.out.println(strings.get(1)); } private static void isLastNull(String name){ ArrayList<String >strings=new ArrayList<>(); strings.add(name); if(strings.size()>0){ System.out.println("非空"); }else { System.out.println("空"); } if(strings.isEmpty()){ System.out.println("空"); }else { System.out.println("非空"); } } private static void sort(){ ArrayList<Integer >integers=new ArrayList<>(); integers.add(1); integers.add(5); integers.add(3); integers.add(9); integers.add(7); integers.sort(Comparator.naturalOrder());//小到大排序 顺序 System.out.println(integers); System.out.println("----->"); integers.sort(Comparator.reverseOrder());//大到小排序 倒序 System.out.println(integers); System.out.println("----->"); Collections.sort(integers);//正序排序 System.out.println(integers); System.out.println("----->"); int y=1; for (Integer num:integers){ System.out.printf("序号为%d:",y); y++; System.out.println(num); } } // private void sunList(){ // // } }

2023-07-14 上传