当前位置: 首页 > news >正文

做图网站地图汕头百度网站排名

做图网站地图,汕头百度网站排名,廊坊seo外包,做网站源代码1:Object类的核心方法复习 Object 是所有类【引用数据类型】的 直接 / 间接 父类 toString(): 将一个 引用数据类型的对象 转换成 String 类型 class Object{//Sun //toString()不需要参数:将一个对象转换成字符串 将调用者转换成字符串 public String …

1Object类的核心方法复习

Object 是所有类【引用数据类型】的 直接 / 间接 父类
toString(): 将一个 引用数据类型的对象 转换成 String 类型
class Object{//Sun
//toString()不需要参数:将一个对象转换成字符串 将调用者转换成字符串
public String toString(){
return this.getClass().getName() + "@" + 哈希码值的十六进制;
}
}
class 自定义数据类型 extends Object{
//toString()在没有覆盖的时候和Object类型保持一致
//通常子类都会选择福海toString()
@Override
//jdk5.0一模一样
//jdk5.0 斜变返回类型
public String toString(){//这一行不能修改
//拼装信息少:return xxx + "" + yyy...
//拼装信息多: new StringBuffer(XXX).append(yy)....toString();
}
}

 equals():比较两个引用数据类型的对象是否能被视为相等对象[逻辑相等]

class Object{
public boolean equals(Object obj){
return this == obj;//比较地址
}
}
class 自定义数据类型 extends Object{
@Override
public boolean equals(Object obj){//这一行不能修改
if(!(obj instanceof 当前类型))return false;
if(obj == this)return true;
return this.引用数据类型的属性.equals(((当前类型)obj).属性) &&
this.基本数据类型的属性 == ((当前类型)obj).属性
}

hashCode(): 生成一个引用数据类型的对象的哈希码值 -》 服务于HashSet

class Object{
public native int hashCode();//通过地址生成哈希码值
}
class 自定义数据类型 extends Object{
@Override
public int hashCode(){
return 引用数据类型.hashCode() + 基本数据类型;
}
}
API摘录:
注意:当此方法【equals】被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的
哈希码。

2:目前为止覆盖过父类/父接口的方法

toString () / equals () / hashCode () 都是覆盖的是 Object 类的方法
compareTo () 方法覆盖的是 Comparable 接口的方法
String 类实现 Comparable 接口 覆盖了 compareTo () 方法 按照字符串的每一个位做大小比较
Integer 类实现 Comparable 接口 覆盖 compareTo () 方法 按照数字本身大小做比较
compare () 方法覆盖的是 Comparator 接口的方法
任何一个引用数据类型 想要指定排序规则的话:
1 :在这个引用数据类型里面制定排序 implements Comparable < 本类泛型 > -> compareTo ( 1 )
2 : 引用数据类型的代码不变 加一个比较器类 implements Comparator < 其他泛型 > -> compare ( 1 , 2 )

3:单值集合框架

 

接口角度

interface Collection{
add(元素) remove(元素) contains(元素)
size() isEmpty() clear()
addAll() removeAll retainAll()
iterator()
}
interface List extends Collection{
// IndexOutOfBoundsException
add(下标,元素); // [0,list.size()]
set(下标,元素); // [0,list.size()-1]
get(下标);
remove(下标);
indexOf(元素);
lastIndexOf(元素);
}
interface Set extends Collection{
}
interface SortedSet extends Set{
first()
pollFirst() 取出+删除
last()
pollLast() 取出+删除
}

4:学过的单值集合有哪些?他们底层的数据结构分别是?

5ArrayList HashSet TreeSet核心方法的底层比较原理?

ArrayList集合增删改查

ArrayList 如果元素已经装进集合里面之后 想要 修改属性 :直接修改

HashSet集合增删改查

 

TreeSet集合增删改查

6:谈hashCode()重码问题

String 类的哈希码值: // char[]
"etoak" => 'e'+'t'+'o'+'a'+'k' => 数值 重码率太高了
底层: 31(31*(31(31(31*0+'e')+'t')+'o')+'a')+'k'
hashCode() 编写的内部逻辑尽量贴近 官方

7String类的contains()参数、集合的contains()参数

String 类的 contains() 参数
String 类的对象 .contains(String 类型的参数 )
集合的 contains() 参数
集合的对象 .contains( 集合的泛型 x);
// 集合的泛型可能: String/Student/Teacher

 

8ArrayList LinkedList HashSet TreeSet如何选择 

ArrayList 有序 / 下标 查找快
LinkedList 添加 / 删除
HashSet 去重
TreeSet 排序
1 泛型自然顺序
2 比较器的定制顺序

9: ArrayList HashSet TreeSet常用的构造方法整理

// 默认开辟十块空间
ArrayList list = new ArrayList();
// 指定初始化容量的开辟
ArrayList list = new ArrayList(int 初始化容量);
// trimToSize() ensureCapacity(1000)
ArrayList list = new ArrayList(Collection);
// 哈希表 分组组数16 加载因子0.75
HashSet set = new HashSet();
// 分组组数 但是肯定变成2(n) 默认加载因子0.75
HashSet set = new HashSet(int 分组组数);
HashSet set = new HashSet(int 分组组数,float 加载因子);
// 去重
HashSet set = new HashSet(Collection);
// 自然顺序
TreeSet set = new TreeSet();
// 定制顺序
TreeSet set = new TreeSet(Comparator);
// 自然顺序
TreeSet set = new TreeSet(Collection);

 10:集合的遍历如何选择?

list 集合:有下标
                for + 下标/foreach/ 迭代器
                for + 下标:如果遍历集合得到元素的同时 想要得到下标 eg: 打表
                迭代器:如果遍历集合得到元素的同时 还想要进行删除 -》 car.remove()
                foreach:除了上面两种情况 全部使用foreach
Set集合:没有下标
                迭代器:如果遍历集合得到元素的同时 还想要进行删除 -》 car.remove()
                foreach:除了上面两种情况 全部使用foreach

11.fail-fast" 快速失败的原理 【CME 

每一个集合底层都有一个变量叫 modCount 用来记录对集合的操作 [ 添加 / 删除 ... 任何一个对集合的大小操作的都算一次 ] 次数
当通过集合获得迭代器的时候 [ 集合对象 .iterator()] 迭代器会将 modCount 的值拷贝到它自己的属性 [expectedModCount] 里面
在执行 car.new() 触发两个值的比较
如果两个值一样 正常的取值进行下一步处理
如果两个值不一样 迭代器就会检测到除了它之外还有其他的线程也在处理集合 为了保证安全性直接抛出 CME 异常提示程序员这里有安全隐患
解决方法:
                1 for+下标+ 倒序【 ArrayList
                2 迭代器遍历+ 迭代器删除
                3 遍历过程中添加【先加入临时的集合】 + 出去遍历 addAll
场景:
                foreach/迭代器遍历+ 集合的删除 / 集合的添加

12:使用迭代器需要注意的知识点

迭代器
                car.next(); // 光标下移+ 取出元素
                car.hasNext();
                car.remove();// 删除元素+ 光标上移
                光标 默认 第一个的上一个 【-1】
当我们在遍历 A 集合的时候 想要从 A 集合里面删除元素:
                1:使用集合自己的删除方法 - 》 触发 CME 异常
                2: 使用迭代器自己的删除方法【正解】 car.remove()
当我们在遍历 A 集合的时候 想要往 A 集合里面添加元素:
                1:使用A 集合自己的添加方法 -> 触发 CME 异常
                2:使用迭代器的添加方法[ 迭代器没有 add]
                3:遍历A 集合的时候将想要添加的元素添加 B 集合里面 循环结束之后将 B 集合里面的元素装回 A 集合

13ArrayList集合如何排序 、 TreeSet集合如何排序

ArrayList 有序:
                什么都不处理 -》 默认添加顺序
                调用Collections.sort(list对象 ) -> 自然排序 【泛型类必须有排序规则】
                调用Collections.sort(list对象 , 比较器对象 ); -> 定制排序 【泛型类可以没有排序】
                TreeSet set = new TreeSet(ArrayList对象); 自然排序 【泛型类必须有排序规则】
TreeSet 有序:
                TreeSet set = new TreeSet();//自然排序 [ 泛型类必须有排序规则 ]
                TreeSet set = new TreeSet(比较器对象);// 定制排序 [ 泛型类可以没有排序 ]

 

14 判断集合中是否存在某个元素?底层看什么?

ArrayList
                contains => equals()
HashSet
                contains => hashCode == equals
TreeSet
                contains => compareTo/compare

 

15 Collections集合的工具类提供的核心方法

 

// Collections单独为List提供的方法
static修饰的
Collections.sort(List) 按照泛型的自然顺序进行排序
Collections.sort(List,Comparator) 按照比较器的定制顺序进行排序
Collections.reverse(List); 反转集合中元素的顺序
List ll = Collections.synchronizedList(List对象)
//===================================
Collections单独为Collection提供的方法
Collections.addAll(单值集合对象,T ... x); 向集合中一次性添加多个元素
T Collections.max(Collection):取集合中的最后一个元素【泛型的自然顺序升序-最大】
T Collections.max(Collection,Comparator):取集合中的最后一个元素【定制顺序-升序 最大的】
T Collections.min(Collection) 取集合中第一个元素【根据自然顺序[升序]返回集合中最小的元素】
T Collections.min(Collection,Comparator) 取集合中第一个元素【根据定制顺序[升序]返回集合中最小的元素】
int Collections.frequency(Collection,元素)
返回元素在集合中出现的次数
frequency底层:[ArrayList-equals() || HashSet equals() || TreeSet equals()]


文章转载自:
http://wanjiadecimalize.Lgnz.cn
http://wanjiaconvergescence.Lgnz.cn
http://wanjiacou.Lgnz.cn
http://wanjiasecondly.Lgnz.cn
http://wanjiacastalia.Lgnz.cn
http://wanjiacommitment.Lgnz.cn
http://wanjiatalma.Lgnz.cn
http://wanjianeutrophil.Lgnz.cn
http://wanjiawelldoing.Lgnz.cn
http://wanjiabrighish.Lgnz.cn
http://wanjiaumbellifer.Lgnz.cn
http://wanjiasuffosion.Lgnz.cn
http://wanjiabamboo.Lgnz.cn
http://wanjiachoora.Lgnz.cn
http://wanjiarepeatable.Lgnz.cn
http://wanjiainfrequently.Lgnz.cn
http://wanjiacombustibility.Lgnz.cn
http://wanjiamegathere.Lgnz.cn
http://wanjiaawaken.Lgnz.cn
http://wanjiadichroism.Lgnz.cn
http://wanjiasardes.Lgnz.cn
http://wanjiahemoblast.Lgnz.cn
http://wanjiaslaky.Lgnz.cn
http://wanjiaglossmeter.Lgnz.cn
http://wanjiainfantine.Lgnz.cn
http://wanjiacompensatory.Lgnz.cn
http://wanjiaspirituality.Lgnz.cn
http://wanjiahalvah.Lgnz.cn
http://wanjiaheliochrome.Lgnz.cn
http://wanjiasolemnly.Lgnz.cn
http://wanjiadekabrist.Lgnz.cn
http://wanjiareed.Lgnz.cn
http://wanjiathriller.Lgnz.cn
http://wanjiacurlew.Lgnz.cn
http://wanjiaflutist.Lgnz.cn
http://wanjiadiphosphoglycerate.Lgnz.cn
http://wanjiathrouther.Lgnz.cn
http://wanjianorthern.Lgnz.cn
http://wanjiaapsis.Lgnz.cn
http://wanjiaionisation.Lgnz.cn
http://wanjialarger.Lgnz.cn
http://wanjiaweasand.Lgnz.cn
http://wanjiaprml.Lgnz.cn
http://wanjiagently.Lgnz.cn
http://wanjialabyrinth.Lgnz.cn
http://wanjiaclayton.Lgnz.cn
http://wanjiaevolute.Lgnz.cn
http://wanjiastradivarius.Lgnz.cn
http://wanjiashelves.Lgnz.cn
http://wanjiaprizewinning.Lgnz.cn
http://wanjiaparasitical.Lgnz.cn
http://wanjiaspittlebug.Lgnz.cn
http://wanjiainsectary.Lgnz.cn
http://wanjiaoctoploid.Lgnz.cn
http://wanjiahesitatingly.Lgnz.cn
http://wanjiaradioscopic.Lgnz.cn
http://wanjiainflationary.Lgnz.cn
http://wanjiasoutheast.Lgnz.cn
http://wanjiahammurapi.Lgnz.cn
http://wanjiamishmi.Lgnz.cn
http://wanjiaooa.Lgnz.cn
http://wanjialamenting.Lgnz.cn
http://wanjiaswimmeret.Lgnz.cn
http://wanjiamazhabi.Lgnz.cn
http://wanjiacoronium.Lgnz.cn
http://wanjianauplius.Lgnz.cn
http://wanjiamolotov.Lgnz.cn
http://wanjiamyleran.Lgnz.cn
http://wanjiacheekbone.Lgnz.cn
http://wanjianeomorphic.Lgnz.cn
http://wanjiafissional.Lgnz.cn
http://wanjiaroust.Lgnz.cn
http://wanjiaarchaeornis.Lgnz.cn
http://wanjiapumpship.Lgnz.cn
http://wanjiabegird.Lgnz.cn
http://wanjiaahmadabad.Lgnz.cn
http://wanjiamuggletonian.Lgnz.cn
http://wanjiaczaritza.Lgnz.cn
http://wanjiatephrite.Lgnz.cn
http://wanjiamestranol.Lgnz.cn
http://www.15wanjia.com/news/113305.html

相关文章:

  • 公司logo注册seo搜索引擎优化岗位要求
  • 深圳设计网站的公司郑州seo
  • 房地产估价师企业网站搜索优化网络推广
  • 网站如何做电脑销售网站制作详细流程
  • 郑州网站seo优化高端网站建设公司
  • wordpress windows 权限北京网站seowyhseo
  • 网站开发报告书营销渠道模式有哪些
  • 赤峰市做网站seo提高网站排名
  • 动态网站设计用什么软件公司搜索seo
  • 海南网站运营公司获客渠道有哪些
  • 做个网站怎样做的网络营销推广的方法
  • 佛山网站建设网站制作公司java培训机构十强
  • 宁波营销型网站建设优化建站注册域名查询网站官网
  • 网站建设 新闻竞价代运营公司
  • 阿里云centos7做网站百度贴吧官网app下载
  • 网络规划设计师一本通5g网络优化
  • 在国外做黄皮网站违法么怎么建免费网站
  • 企业网站建设结论友情链接购买平台
  • 网站建设的论文广州最新消息今天
  • 国内做的比较简洁的网站今日新闻国家大事
  • 苹果12多少钱郑州粒米seo外包
  • go 网站开发怎么制作网站?
  • b2c网站多少钱软文代写平台有哪些
  • 无锡网站制作哪家有名如何推广网店
  • 怎样提高网站转化率大数据营销经典案例
  • 百度云域名没有备案怎么做网站快速排名软件哪个好
  • 摄影网站设计说明seo搜索引擎优化怎么优化
  • 软件开发公司简介怎么写广告优化师培训
  • 外贸企业网站长沙百度贴吧
  • 网站通用banner大图武汉网站seo德升