books

Java集合类: Set、List、Map、Queue使用

自作多情 提交于 2020-03-29 20:23:20
目录 1. Java集合类基本概念 2. Java集合类架构层次关系 3. Java集合类的应用场景代码 1. Java集合类基本概念 在编程中,常常需要集中存放多个数据。从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数据(在编译时无法确定具体的数量),java的集合类就是一个很好的设计方案了。 集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所以的集合类都位于java.util包下,后来为了处理多线程环境下的并发安全问题,java5还在java.util.concurrent包下提供了一些多线程支持的集合类。 在学习Java中的集合类的API、编程原理的时候,我们一定要明白,"集合"是一个很古老的数学概念,它远远早于Java的出现。从数学概念的角度来理解集合能帮助我们更好的理解编程中什么时候该使用什么类型的集合类。 Java容器类类库的用途是"保存对象",并将其划分为两个不同的概念: 1) Collection 一组"对立"的元素,通常这些元素都服从某种规则   1.1) List必须保持元素特定的顺序   1.2) Set不能有重复元素   1.3) Queue保持一个队列(先进先出)的顺序 2) Map 一组成对的

restframe_work2

杀马特。学长 韩版系。学妹 提交于 2020-03-29 01:02:59
1 CBV 2 APIView class BookView(APIView):pass url(r'^books/$', views.BookView.as_view(),name="books"), url(r'^books/$', View类下的view,name="books"), 一旦访问books/: view(request)======APIView类下的dispatch()====请求方式对应的示例方法() 3 def dispatch(): #一 初始化操作 # (1) 构建新的request: self.request=self.initial_request() # self.request._request # self.request.GET # self.request.data # (2) 执行组件 # 认证,权限,频率 # 认证:request.user self.initial(request, *args, **kwargs) ==== # 认证组件 self.perform_authentication(request) ==== request.user ===== for authenticator in self.authenticators: # [TokenAuth(),] try: user_auth_tuple =

【线程锁 Synchronized与ReentrantLock 示例】

萝らか妹 提交于 2020-03-20 00:13:25
前言: 之前一直对线程锁不理解,去网上找了很多讲解Synchronized关键字和ReentrantLock的帖子,大致了解了用法,写个小程序记录一下。有不足和错误欢迎留言评论,大家一起学习进步。 一、为什么要用线程锁 Java多线程同时处理任务会显著提高工作效率。但是,如果多个线程同时操作某一资源,可能会导致数据的不同步,引发错误。因此对于某些资源我们要对线程进行控制,同一时间只允许单个线程进行操作。这时我们就需要使用线程锁。 场景: 书店生产书,直到书总量达到10本,顾客买书,总共要买10本 书店:书店只要书不足10本就一直生产,直到书店内书个数达到10,停止生产,如果此时有书被顾客买走就继续生产,直至存货10本... 顾客:只要书店有书就从书店购买,没有书就停止购买,等有书产出就继续,直到购买10本 二、Synchronized关键字实现线程锁 书店: public class SynchronizedProviderThread extends Thread { public static List<String> books=new ArrayList<String>(); public static int MAX_BOOK_NUM=10; public void run(){ try{ while(!Thread.interrupted()){

正则表达式/DOM读取xml,php/dom编写xml

怎甘沉沦 提交于 2020-03-18 10:21:47
<?php echo "<br/>====================DOM读取xml===========================<br/>"; $doc = new DOMDocument(); $doc->load( 'books.xml' ); $books = $doc->getElementsByTagName("book"); foreach( $books as $book) { $authors = $book->getElementsByTagName("author"); $author = $authors->item(0)->nodeValue; $publishers = $book->getElementsByTagName("publisher"); $publisher = $publishers->item(0)->nodeValue; $titles = $book->getElementsByTagName( "title" ); $title = $titles->item(0)->nodeValue; echo "$title - $author - $publishern"; } echo "<br/>==============================================================

strong和copy的区别

我与影子孤独终老i 提交于 2020-03-17 02:00:57
某厂面试归来,发现自己落伍了!>>> 问题描述 在定义一个类的property时候,为property选择 strong 还是 copy 特别注意和研究明白的,如果property是NSString或者NSArray及其子类的时候,最好选择使用copy属性修饰。为什么呢?这是为了防止赋值给它的是可变的数据,如果可变的数据发生了变化,那么该property也会发生变化。 代码示例 还是结合代码来说明这个情况 @interface Person : NSObject @property (strong, nonatomic) NSArray *bookArray1; @property (copy, nonatomic) NSArray *bookArray2; @end @implementation Person //省略setter方法 @end //Person调用 main(){ NSMutableArray *books = [@[@"book1"] mutableCopy]; Person *person = [[Person alloc] init]; person.bookArray1 = books; person.bookArray2 = books; [books addObject:@"book2"]; NSLog(@"bookArray1:%@"

Jquery学习之Jquery插件

自闭症网瘾萝莉.ら 提交于 2020-03-16 03:55:38
1.cycle幻灯片 .cycle(); //books结构 ul li $('#books').cycle(); $('#books').cycle({ timeout:2000, speed:500, pause:true }); //设置初始默认值 $.fn.cycle.defaults.timeout = 10000;//切换频率 $.fn.cycle.defaults.random = true;//是否随机切换 $('#books').cycle({ timeout: 2000,//会覆盖默认的切换频率 speed: 500, pause: true }) var $books = $('#books'); var $controls = $('<div id="books-controls"></div>').insertAfter($books); $('<button>Pause</button>').click(function (e) { e.preventDefault(); $books.cycle('pause'); }).appendTo($controls); // $('<button>Resume</button>').click(function (e) { // e.preventDefault(); // $books.cycle(

前端如何利用form表单传数组

狂风中的少年 提交于 2020-03-10 03:32:04
在写前端的时候碰到了传数组的问题,于是我利用form表单测试了一下。 如何利用form表单传数组 form表单的常用形式如下: <form action="http://192.168.43.158:8082/uploadImage" method="post" enctype="multipart/form-data"> <input type="file" name="filename" size="45"><br> <input type="submit" name="submit" value="submit"> </form> 根据我目前的需求:传数组 <form action="http://192.168.43.158:8082/game/examination/addMul" method="post" enctype="multipart/form-data"> <form> <div class="form-control"> books1: <input type="text" name="books[]" /> </div> <br> <div class="form-control"> books2: <input type="text" name="books[]" /> </div> <input type="submit" value="Submit

新SSM框架整合

拟墨画扇 提交于 2020-03-08 14:31:27
链接【 https://github.com/Davis-Samuel/ssm-order 】 1.父工程ssmbuild 导入pom依赖,资源预留,编码: <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency> <dependency> <!--jsp表达式的依赖--> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> <version>1.2<

vue购物车案列

旧时模样 提交于 2020-03-08 14:19:55
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <link rel="stylesheet" href="./style.css"> </head> <body> <div id="payFor"> <div v-if="this.books.length"> <table> <thead> <tr> <th></th> <th>书籍名称</th> <th>出版日期</th> <th>价格</th> <th>购买数量</th> <th>操作</th> </tr> </thead> <tbody> <tr v-for="(items,index) in books"> <td>{{items.id}}</td> <td>{{items.name}}</td> <td>{{items.date}}</td> <td>{{items.price|showPrice}}</td> <td> <button @click=

pandas操作excel操作-06-数据排序操作

烂漫一生 提交于 2020-02-29 14:24:10
import pandas as pd books = pd.read_excel('D:/output.xlsx', index_col='idx') # 按照SinglePrice排序 books.sort_values(by='SinglePrice', inplace=True, ascending=False) # 按照TotalMoney排序 books.sort_values(by='TotalMoney', inplace=True, ascending=False) # 先按照SinglePrice正序排序, 再按照TotalMoney倒序排序 books.sort_values(by=['SinglePrice','TotalMoney'], inplace=True, ascending=[True, False]) print(books) 视频链接: https://www.bilibili.com/video/av88814463?p=7 来源: oschina 链接: https://my.oschina.net/ski/blog/3179450