javaset方法
⑴ java中SET 和 GET 的用法
我来回答:
通常set 和 get是属性的存取器,一般称getter/setter。 set表示设置值,get表示获取值。在Eclipse中先定义好字段后,选择Source/Generate Getters and Setters可以根据选择自动生成这些方法,JBuilder中对应有BeanInfo的功能。
get方法返回的类型必须为该字段对应的类型;
set方法返回的类型一般为void,但传入的类型应为该字段对应的类型。
所以,jawdat的写法应该修改为:
public String getName() {}
public void setName(String name) {}
⑵ java里面的集合框架的set用法应该怎么做
1、Set:它是无序、不重复、该接口中的方法和Collection接口中的方法一致。
继承它的子类有HashSet和TreeSet。
HashSet:底层是哈希表数据结构,不同步的它保证元素的唯一性的方式。
根据元素的两个方法来完成的,一个是HashCode、一个是equals方法,只有当hashCode方法算出哈希值相同时,会再次判断两个元素的equals方法是否为true,如果是true说明两个元素相同,不存储,所以往hashSet集合中存储自定义对象时,要覆盖hashCode,equals方法,通过自定义对象具备的特有数据定义hashCode、equals的具体实现。
treeSet:用于给集合中的额元素按照指定的顺序进行排序,底层是二叉树结构,线程是不同步的。
它保证元素的唯一性,就是通过元素对象的比较方法返回值来确定的,如果为0,则视为两个元素时相同的元素,不存储。
treeset的两种排序方式:
1、让元素自身具备比较功能,就是强制让元素类去实现comparable接口,覆盖compareTo方法,这时元素具备的自然排序,可是如果元素自身不具备比较功能,获取具备的比较功能不是所需要的,这时排序方式就不能用了。
2、让集合自身具备比较功能,需要定义比较器,其实就实现了comparetor接口的子类对象作为参数传递给treeSet集合的构造函数,让treeSet集合一创建就具备了比较功能,该子类必须要覆盖compare方法。