本文目录一览:
java里面的集合框架的set用法应该怎么做
- Set: 它是无序、不重复的,该接口中的方法和Collection接口中的方法一致。
继承它的子类有
HashSet
和TreeSet
。
- HashSet: 底层是哈希表数据结构,不同步。它保证元素的唯一性的方式是根据元素的两个方法来完成的,一个是
hashCode
,一个是equals
方法。只有当hashCode
方法算出哈希值相同时,会再次判断两个元素的equals
方法是否为true
,如果是true
说明两个元素相同,不存储。所以往HashSet
集合中存储自定义对象时,要覆盖hashCode
、equals
方法,通过自定义对象具备的特有数据定义hashCode
、equals
的具体实现。 - TreeSet: 用于给集合中的元素按照指定的顺序进行排序,底层是二叉树结构,线程是不同步的。它保证元素的唯一性,是通过元素对象的比较方法返回值来确定的,如果为0,则视为两个元素是相同的元素,不存储。 TreeSet 的两种排序方式:
- 让元素自身具备比较功能,就是强制让元素类去实现
Comparable
接口,覆盖compareTo
方法,这时元素具备自然排序。但如果是元素自身不具备比较功能,或者具备的比较功能不是所需要的,这时排序方式就不能用了。 - 让集合自身具备比较功能,需要定义比较器,即实现
Comparator
接口的子类对象作为参数传递给TreeSet
集合的构造函数,让TreeSet
集合一创建就具备了比较功能,该子类必须要覆盖compare
方法。
java的set方法
我怎么没明白呢?xx 是个类还是个 Java 原始类型?给 Java 变量赋值用 =
:
变量 = 值;
就可以了。
看你写 xx.setParentId('0');
,估计 xx 是个类?xx 有个变量叫 parentId?你想给这个 parentId 一个值?
你可以在 xx 类里写一个 set 方法:
class XX {
private int parentId;
public void setParentId(int parentId) {
this.parentId = parentId;
}
}
外部调用时 xx.setParentId(0);
就可以。
当然,如果 parentId 是字符串,就把 int
的地方改成 String
,然后调用 xx.setParentId("0");
。
在java中使用“set/get”的方法是什么?
在 Java 中,get 和 set 方法分别是用来获取和设置对象中数据成员值。 列举一些用法:
- 当数据成员是
private
时,只能通过 get 和 set 方法来设置,因为这些数据成员不能被直接访问。 - 当需要对输入的数据进行变换时使用。例如能通过输入任意整数来设置奇偶标志。这时必须对输入数据进行运算后,才能赋值。
java调用set方法更改姓名
java调用set方法更改姓名方法:
- 通过反射调用 get/set 方法都是通过获取属性的 name,然后通过字符串截取将首字母大写,再拼上 get/set 来做。
- 通过 fieldName 转成字符数组,首个字符 -32 来避免字符串截取的。 我觉得两种方式都可以,但是不知道有没有遇到过,生成的 get/set 方法并不是以 get/set 开头的,而是以 is 开头的,比如 boolean 类型的成员变量。这个时候我们就需要去判断属性的类型,然后用不同的前缀来拼接 get/set 方法名。其实,在 JDK 中已经包含了这样的工具类。